190 likes | 327 Views
TIMCOM --customizing and running. VERSION: APR 30 th ,2009. TIMCOM. DieCAST code structure. CUSTOMIZING. ASSIGNMENT--.F MODIFYNG VARS AND CODE: NEED TO BE FAMILIAR WITH THE WHOLE MODEL EASY TO MISTAKE DOING STH. TIMCOM. USER FRIENDLY EASY TO RUN PORTABLE SCALABLE. F77
E N D
TIMCOM --customizing and running VERSION: APR 30th,2009
CUSTOMIZING • ASSIGNMENT--.F • MODIFYNG VARS AND CODE: • NEED TO BE FAMILIAR WITH THE WHOLE MODEL • EASY TO MISTAKE DOING STH
TIMCOM • USER FRIENDLY • EASY TO RUN • PORTABLE • SCALABLE
F77 MULTI PROGRAMS AND MULTI FILES DUPLICATED DECLARING OF VAR COMPILE INTERFACE: .F F90 SINGLE PROGRAM MULTI FILES UNIFIED DECLARING OF VAR MAKEFILE INTERFACE: OCN_PARA PRECFG.TXT OLD VS. NEW
MODULE VAR-example • MODEL VAR VS. TEMP VAR • MODULE ZCO ! LI • USE OCN_PARA,ONLY:K0 • INTEGER::ZOP • REAL::ZTOP ! For LIENAR AND STRATCHED • REAL::C,D ! ONLY APPLIED TO LINEAR • REAL,DIMENSION(K0)::Z_CUSTOM • ! ONLY APPLIED TO USER-DEFINED Z COORDINATE • END MODULE ZCO
MODULE INIT VAR-example • USE ZCO • NAMELIST /Z_OPTION/ ZOP,ZTOP • NAMELIST /Z_LINEAR/ C,D • NAMELIST /Z_CUST/ Z_CUSTOM • USE XYFSGLO • NAMELIST /GRID_XY/ DYDX,DXMNUT,Y0DEG,WESTDEG,R0
CODE-example • USE INIT_VAR ! Involving init vars • USE CONTROL ! Involving model vars • INTEGER ::N ! Declaring temp vars • OPEN(123,FILE='../../PRECFG/PRECFG.TXT) • READ(123,NML= Z_OPTION) ! Read input • OPEN(17,file='../../temp/KBVIEW') • CALL SUB_Z_LINEAR(TLZ, C,D,Z, K01)
MAKEFILE • # COMMENTS • TARGET:PREREQUISITES • DIRECTIVES • GLO:GLO.O • IFORT –O GLO.O • GLO.O:GLO.F90 • IFORT –C GLO.F90
Ocn_para • MODULE OCN_PARA • INTEGER ::I0,I1,I2,I3 • INTEGER ::J0,J1,J2,J3 • INTEGER ::K0,K1,K2,K01 • INTEGER ::NB0,NB1,NBIR,IBIR,IBR2,N0 • PARAMETER(I0=182,J0=92,K0=31,NB0=15,NBIR=15,N0=6) • PARAMETER(I1=I0-1,I2=I0-2,I3=I0-3) • PARAMETER(J1=J0-1,J2=J0-2,J3=J0-3) • PARAMETER(K1=K0-1,K2=K0-2,K01=2*K0-1) • PARAMETER(NB1=NB0-1,IBIR=2*I2/NBIR,IBR2=IBIR*IBIR) • END MODULE OCN_PARA
Precfg.txt • &WORK_DIR • WORKDIR='/home/chen/TIMCOM/EXAMPLES/CASE1/‘ • / • &CNTRL • TLZ=5000.E2, • IRUN=5, • DAODT=384., • DRAG=.002, • FLTW=.1 • /
Access to the code • 192.168.11.19 • /home/chen/TIMCOM • README • CASE1 • README
Commands • To run a existed case, • cd CASE1 • ./run.sh • To define and run a new case • cd EXAMPLES ! Look through readme • mkdir CASE2 • cd CASE2 ! Refer to CASE1/readme • cp ../../PRECFG/precfg.txt.bak ./precfg.txt • cp ../../PRECFG/ocn_para.f90.bak ./ocn_para.f90 • cp ../../PRECFG/run.sh.bak ./run.sh • Customizing precfg and ocn_para • ./run.sh
NEXT…… • MAKE: • COMPILE/RUN PARTS OF THE MODEL • ??
NETX…. • TEST: • ADDITIONAL MODULE: • INTERFACE: • COUPLE • NETCDF