source: CONFIG/LMDZOR/branches/LMDZOR_v4/CREATE/COMP/lmdz.driver @ 1192

Last change on this file since 1192 was 1192, checked in by jgipsl, 14 years ago

Config LMDZOR_v4 : Forgot to declare IGCM_card_DefineVariableFromOption
in lmdz.driver for PARAM_DIR.

File size: 3.7 KB
Line 
1#!/bin/ksh
2#-----------------------------------------------------------------
3function LMDZ_sed
4{
5    IGCM_debug_PushStack "LMDZ_sed"
6
7    sed -e "s/^${2}\ *=.*/${2}= ${3}/" ${1} > ${1}.tmp
8    RET=$?
9    echo "LMDZ_sed : ${1} ${2} ${3}"
10    \mv ${1}.tmp ${1}
11
12    IGCM_debug_PopStack "LMDZ_sed"
13    return $RET
14}
15
16function ATM_Initialize
17{
18    IGCM_debug_PushStack "ATM_Initialize"
19
20    RESOL_ATM=$( echo $RESOL | awk "-Fx" '{print $2}' | awk "-F-" '{print $1}')
21
22    [ -f ${SUBMIT_DIR}/../.resol ] && eval $(grep RESOL_ATM_3D ${SUBMIT_DIR}/../.resol) || RESOL_ATM_3D=96x95x19
23
24    RESOL_ATM_Z=$( echo ${RESOL_ATM_3D} | awk "-Fx" '{print $3}' )
25
26    ##-- Calendar type for LMDZ
27    case ${config_UserChoices_CalendarType} in
28        leap|gregorian)
29            CalendarTypeForLmdz=gregorian;;
30        noleap)
31            CalendarTypeForLmdz=earth_365d;;
32        360d)
33            CalendarTypeForLmdz=earth_360d;;
34        *)
35            CalendarTypeForLmdz=earth_360d
36    esac
37
38    ##- PARAM directory
39    IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/COMP/lmdz.card UserChoices PARAM_DIR
40    PARAM_DIR=${lmdz_UserChoices_PARAM_DIR}
41    echo parameter file directory : ${PARAM_DIR}
42
43    ##--Frequency purpose ....
44    ##--  Initialisation  ....
45    OK_instan=n
46    OK_journe=n
47    OK_mensuel=n
48    ok_hf=n
49
50    case ${config_UserChoices_PeriodLength} in
51        1Y|1y|1M|1m) OK_mensuel=y ;;
52        5D|5d|1D|1d) OK_journe=y ;;
53    esac
54
55    for frequency in ${config_ATM_WriteFrequency} ; do
56        case ${frequency} in
57            5D|5d|1D|1d) OK_journe=y ;;
58        esac
59        case ${frequency} in
60            HF|hf) ok_hf=y ;;
61        esac
62    done
63
64    IGCM_debug_PopStack "ATM_Initialize"
65}
66
67#-----------------------------------------------------------------
68function ATM_Update
69{
70    IGCM_debug_PushStack "ATM_Update"
71
72    case ${config_UserChoices_PeriodLength} in
73        *Y|*y) 
74               LMDZ_ecrit_mth=30.
75               LMDZ_ecrit_ISCCP=30.
76               LMDZ_periodav=30.
77               ;;
78        *)
79               LMDZ_ecrit_mth=${PeriodLengthInDays}.
80               LMDZ_ecrit_ISCCP=${PeriodLengthInDays}.
81               LMDZ_periodav=${PeriodLengthInDays}.
82               ;;
83    esac
84
85    ##-- Remise ou non a zero de la date initiale de LMDZ pour le fichier run.def
86    if [ ${CumulPeriod} -eq 1 ] ; then
87        RAZ_DATE=1
88    else
89        RAZ_DATE=0
90    fi
91
92    LMDZ_adjust=n
93
94    ## physiq.def parameters modified from initial physiq_L${RESOL_ATM_Z}
95    LMDZ_sed physiq.def OK_instan   ${OK_instan}
96    LMDZ_sed physiq.def OK_journe   ${OK_journe}
97    LMDZ_sed physiq.def OK_mensuel  ${OK_mensuel}
98    LMDZ_sed physiq.def ok_hf       ${ok_hf}
99    LMDZ_sed physiq.def ecrit_mth   ${LMDZ_ecrit_mth}
100    LMDZ_sed physiq.def ecrit_ISCCP ${LMDZ_ecrit_ISCCP}
101#    LMDZ_sed physiq.def ok_mensuelCOSP  ${LMDZ_COSP_monthly}
102#    LMDZ_sed physiq.def ok_journeCOSP   ${LMDZ_COSP_daily}
103#    LMDZ_sed physiq.def ok_hfCOSP   ${LMDZ_COSP_hf}
104#    LMDZ_sed physiq.def ok_histNMC  "${LMDZ_NMC_monthly}, ${LMDZ_NMC_daily}, ${LMDZ_NMC_hf}"
105
106    ## gcm.def parameters : no change since gcm.def_${RESOL_ATM_3D} is used and already modified
107
108    ## run.def parameters
109    LMDZ_sed run.def dayref   ${InitDay}
110    LMDZ_sed run.def anneeref ${year}
111    LMDZ_sed run.def calend   ${CalendarTypeForLmdz}
112    LMDZ_sed run.def nday     ${PeriodLengthInDays}
113    LMDZ_sed run.def raz_date ${RAZ_DATE}
114    LMDZ_sed run.def periodav ${LMDZ_periodav}
115    LMDZ_sed run.def adjust   ${LMDZ_adjust}
116    LMDZ_sed run.def use_filtre_fft n
117    if ( ${FirstInitialize} ) ; then
118
119    echo cat run
120    cat run.def
121
122    fi
123
124    IGCM_debug_PopStack "ATM_Update"
125}
126
127#-----------------------------------
128function ATM_Finalize
129{
130    IGCM_debug_PushStack "ATM_Finalize"
131
132    echo FINALIZE ATM !
133
134    IGCM_debug_PopStack "ATM_Finalize"
135}
Note: See TracBrowser for help on using the repository browser.