C $Header: /u/gcmpack/MITgcm/pkg/cheapaml/cheapaml_readparms.F,v 1.3 2010/09/05 03:55:23 jmc Exp $ C $Name: $ #include "CPP_OPTIONS.h" SUBROUTINE CHEAPAML_READPARMS( myThid ) C /==========================================================\ C | SUBROUTINE CHEAPAML_READPARMS | C | o Routine to initialize CHEAPAML variables and consts. | C \==========================================================/ IMPLICIT NONE C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "CHEAPAML.h" C === Routine arguments === INTEGER myThid C === Local variables === C msgBuf - Informational/error meesage buffer C iUnit - Work variable for IO unit number CHARACTER*(MAX_LEN_MBUF) msgBuf INTEGER iUnit C-- Bulk Formula parameter NAMELIST //CHEAPAML_CONST & cheapaml_ntim, cheapaml_h, c & cheapaml_kdiff, cheapaml_taurelax1, c & cheapaml_taurelax2, cheapaml_xf, & cheapaml_kdiff, & cheapaml_taurelax2, & cdrag_1,cdrag_2,cdrag_3, & rhoa, cpair, stefan, & dsolms,dsolmn, & xphaseinit c & cheapaml_dtc, rhoa, cpair, stefan NAMELIST //CHEAPAML_PARM01 & AirTempFile, & SolarFile, & UWindFile, & VWindFile, & TRFile NAMELIST //CHEAPAML_PARM02 & useFreshwaterFlux _BEGIN_MASTER(myThid) WRITE(msgBuf,'(A)') ' BULKF_READPARMS: opening data.cheapaml' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) CALL OPEN_COPY_DATA_FILE( I 'data.cheapaml', 'CHEAPAML_READPARMS', O iUnit, I myThid ) WRITE (msgBuf,'(A)') 'Test 1 ********************************' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C-- Default values C- Physical constant : cheapaml_ntim = 5 cheapaml_h=1000.d0 cheapaml_kdiff=1.d4 c cheapaml_taurelax1 = 30.d0 cheapaml_taurelax2 = .1d0 c cheapaml_xf=2.d0 c cheapaml_dtc=1.d0 rhoa = 1.3 _d 0 cpair = 1004.d0 stefan = 5.67 _d -8 dsolms = 50.d0 dsolmn = 25.d0 xphaseinit = 0.d0 cdrag_1=0.0027d0 cdrag_2=0.00142d0 cdrag_3=0.0000764d0 C- Input data files names : AirTempFile=' ' AirQFile =' ' SolarFile=' ' UWindFile=' ' VWindFile=' ' TRFile=' ' QrFile=' ' C- e-p option turned off by default useFreshwaterFlux=.FALSE. WRITE (msgBuf,'(A)') 'Test 2 ********************************' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C-- Read parameters from open data file READ(UNIT=iUnit,NML=CHEAPAML_CONST) WRITE (msgBuf,'(A)') 'Test 3333333333333333333333333333333333' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) WRITE(msgBuf,'(A)') ' CHEAPAML_READPARMS: read CHEAPAML_CONST' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C-- Read parameters from open data file READ(UNIT=iUnit,NML=CHEAPAML_PARM01) WRITE(msgBuf,'(A)') ' CHEAPAML_READPARMS: read CHEAPAML_PARM01' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) WRITE (msgBuf,'(A)') 'Test 4444444444444444444444444444444444' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C-- Read parameters from open data file READ(UNIT=iUnit,NML=CHEAPAML_PARM02) WRITE (msgBuf,'(A)') 'Test 55555555555555555555555555555555555' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) WRITE(msgBuf,'(A)') ' CHEAPAML_READPARMS: read CHEAPAML_PARM02' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) WRITE (msgBuf,'(A)') 'Test 6666666666666666666666666666666666' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C-- Close the open data file CLOSE(iUnit) C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| iUnit = standardMessageUnit WRITE(iUnit,*) 'Caml: ntim =',cheapaml_ntim WRITE(iUnit,*) 'Caml: h =',cheapaml_h WRITE(iUnit,*) 'Caml: kdiff =',cheapaml_kdiff c WRITE(iUnit,*) 'Caml: tau1 =',cheapaml_taurelax1 WRITE(iUnit,*) 'Caml: tau2 =',cheapaml_taurelax2 c WRITE(iUnit,*) 'Caml: xf =',cheapaml_xf c WRITE(iUnit,*) 'Caml: dtc =',cheapaml_dtc WRITE(iUnit,*) 'Caml: rhoa =',rhoa WRITE(iUnit,*) 'Caml: cpair =',cpair WRITE(iUnit,*) 'Caml: stefan =',stefan C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| _END_MASTER(myThid) C-- Everyone else must wait for the parameters to be loaded _BARRIER RETURN END