source: CONFIG/UNIFORM/v6/IPSLCM6.3/GENERAL/DRIVER/pisces.driver @ 6628

Last change on this file since 6628 was 6628, checked in by acosce, 8 months ago

Add experiment for coupled model with INCA GES and CO2 coupled between atm and oce
fixe some typo, and try to find the best way to generalize all ESM experiments

File size: 5.4 KB
Line 
1#!/bin/ksh
2
3#-----------------------------------
4function MBG_Initialize
5{ 
6    IGCM_debug_PushStack "MBG_Initialize"
7
8    # Local function to find parameters in LMDZ .def files
9
10lmdzgrep2 () {
11     grep -w ${1} ${2} | grep -v "#"  | sed -e 's/=//g' -e 's/://g' -e 's/_AUTO_//' -e 's/DEFAULT//' | sed -e "s/${1}//" 
12}
13
14    ##--Variables used by MBG --
15
16    # ln_rsttr  boolean term for tracer model restart (true or false)
17    # nrsttr    control of the time step (0, 1 or 2)
18   
19    IGCM_debug_PopStack "MBG_Initialize"
20}
21
22#-----------------------------------
23function MBG_Update
24{
25    IGCM_debug_PushStack "MBG_Update"
26
27    ##--Write Frequency for iomput
28    ## Differents frequencies are allowed for MBG files
29
30    VT1D_ENABLE=".FALSE."
31    VT5D_ENABLE=".FALSE."
32    VT1M_ENABLE=".FALSE."
33    VT1Y_ENABLE=".FALSE."
34
35    for frequency in ${config_MBG_WriteFrequency} ; do
36        case ${frequency} in
37            ( 1D|1d ) VT1D_ENABLE=".TRUE." ;;
38            ( 5D|5d ) VT5D_ENABLE=".TRUE." ;;
39            ( 1M|1m ) VT1M_ENABLE=".TRUE." ;;
40            ( *[yY] ) VT1Y_ENABLE=".TRUE." ;;
41        esac
42    done
43
44    ##-- Restart configuration
45    ##-- Restart configuration
46    if ( [ "${opa9_UserChoices_Reproducibility_after_restart}" = "y" ] && [ "${config_MBG_Restart}" = "y" ] ) ; then
47        TOP_LN_RSTR=.TRUE.
48        TOP_NN_RSTR=2
49        IGCM_debug_Print 1 'WARNING : dangerous option for NEMO pisces too'
50        IGCM_debug_Print 1 'Reproducibility_after_Restart forced : ' ${opa9_UserChoices_Reproducibility_after_restart}
51
52    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_MBG_Restart}" = "n" ] ) ; then
53
54        #echo "NO RESTART FOR TOP"
55        TOP_LN_RSTR=.FALSE.
56        TOP_NN_RSTR=0
57
58    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_MBG_Restart}" = "y" ] ) ; then
59
60        #echo "RESTART TOP"
61        TOP_LN_RSTR=.TRUE.
62        TOP_NN_RSTR=0
63
64        # If we start from IPSLCM5* restart files.
65            for file in restart_trc*.nc ; do
66            IGCM_debug_Print 1 "cmd done to modify IPSLCM5* NEMO pisces restartfile: " ncrename -v TRBDSi,TRBGSi -v TRNDSi,TRNGSi -v TRNBSi,TRNDSi -v TRBBSi,TRBDSi ${file} > /dev/null 2>&1
67            ncrename -v TRBDSi,TRBGSi -v TRNDSi,TRNGSi -v TRNBSi,TRNDSi -v TRBBSi,TRBDSi ${file} > /dev/null 2>&1
68            done
69
70    else
71
72        #echo "RESTART TOP"
73        TOP_LN_RSTR=.TRUE.
74        TOP_NN_RSTR=2
75
76    fi
77
78
79    ##-- CO2 forcing : update atcco2 value in namelist_pisces_cfg with the same one used in LMDZ
80    IGCM_debug_Print 1 "Take same CO2 as for LMDZ, in parameter file config.def."
81    # ATM_Update is done before MBG_Update and therefore config.def file contains the correct value for CO2.
82    IGCM_debug_Print 1 'Update atcco2 in namelist_pisces_cfg with same value as for LMDZ'
83    LMDZ_CO2=$( lmdzgrep2 co2_ppm config.def )
84    IGCM_debug_Print 1 "LMDZ_CO2 : ${LMDZ_CO2} "
85    IGCM_comp_modifyNamelist force  namelist_pisces_cfg atcco2 ${LMDZ_CO2}
86
87    PiscesGas=${config_UserChoices_ConfigType}
88    if ( [ X${PiscesGas:0:3} = XESM ]  ) ; then
89        ##-- N2O forcing : update atcn2o value in namelist_pisces_cfg with the same one used in LMDZ
90        IGCM_debug_Print 1 "Take same N2O as for LMDZ, in parameter file config.def."
91        # ATM_Update is done before MBG_Update and therefore config.def file contains the correct value for N2O
92        IGCM_debug_Print 1 'Update atcn2o in namelist_pisces_cfg with same value as for LMDZ'
93        LMDZ_N2O=$( lmdzgrep2 N2O_ppb config.def )
94        IGCM_debug_Print 1 "LMDZ_N2O : ${LMDZ_N2O} "
95        IGCM_comp_modifyNamelist force  namelist_pisces_cfg atcn2o ${LMDZ_N2O}
96    fi
97
98    ##-- Update namelist_top_cfg and namelist_pisces_cfg
99    IGCM_comp_modifyNamelist blocker  namelist_top_cfg     ln_rsttr   ${TOP_LN_RSTR}
100    IGCM_comp_modifyNamelist blocker  namelist_top_cfg     nn_rsttr   ${TOP_NN_RSTR}
101    IGCM_comp_modifyNamelist blocker  namelist_pisces_cfg  nn_pisdmp  ${OPA_NPDT_YEAR}
102 
103    # Update iodef.xml
104
105    IGCM_debug_Print 1 'Informations into iodef.xml : VT1D_ENABLE VT5D_ENABLE VT1M_ENABLE VT1Y_ENABLE '
106    IGCM_debug_Print 1 ${VT1D_ENABLE}  ${VT5D_ENABLE} ${VT1M_ENABLE} ${VT1Y_ENABLE}
107
108    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 1d_pis enabled ${VT1D_ENABLE}
109    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 5d_pis enabled ${VT5D_ENABLE}
110    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 1m_pis enabled ${VT1M_ENABLE}
111    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 1y_pis enabled ${VT1Y_ENABLE}
112
113    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 1d_pis output_level ${pisces_UserChoices_OutputLevel}
114    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 5d_pis output_level ${pisces_UserChoices_OutputLevel}
115    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 1m_pis output_level ${pisces_UserChoices_OutputLevel}
116    IGCM_comp_modifyXmlFile nonblocker file_def_nemo-pisces.xml 1y_pis output_level ${pisces_UserChoices_OutputLevel}
117
118    if ( [ X${config_UserChoices_ConfigType} = XESMCO2 ] || [ X${config_UserChoices_ConfigType} = XESMCO2CHEM ] ) ; then
119      # Output file with PISCES gas variables
120      IGCM_comp_modifyXmlFile force file_def_nemo-pisces.xml file41 enabled .TRUE.
121    else
122      IGCM_comp_modifyXmlFile force file_def_nemo-pisces.xml file41 enabled .FALSE.
123    fi
124   
125   
126    IGCM_debug_PopStack "MBG_Update"
127}
128
129#-----------------------------------
130function MBG_Finalize
131{
132    IGCM_debug_PushStack "MBG_Finalize"
133
134    echo FINALIZE MBG !!!
135
136    IGCM_debug_PopStack "MBG_Finalize"
137}
138
Note: See TracBrowser for help on using the repository browser.