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