Changeset 1233 for CONFIG/IPSLCM


Ignore:
Timestamp:
12/30/10 10:07:18 (13 years ago)
Author:
mmaipsl
Message:

First CO2 interactive Control scripts.
Please, see https://forge.ipsl.jussieu.fr/igcmg/wiki/IPSLCM5ACo2 for informations.
And follow links in https://forge.ipsl.jussieu.fr/igcmg/wiki/IPSLCM5ACo2#Testsetruns
for example of use.

Location:
CONFIG/IPSLCM/IPSLCM5A/CpiControl
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/IPSLCM/IPSLCM5A/CpiControl/COMP/lmdz.card

    r1223 r1233  
    2727LMDZ_NMC_daily=y 
    2828LMDZ_NMC_hf=y 
     29 
     30# CO2_ppm init 
     31co2_init=284.725 
    2932 
    3033[InitialStateFiles] 
  • CONFIG/IPSLCM/IPSLCM5A/CpiControl/COMP/lmdz.driver

    r1172 r1233  
    8888{ 
    8989    IGCM_debug_PushStack "ATM_Update" 
     90 
     91    typeset CO2SBG CO2MBG CO2LU CO2_ppm CO2_ppm_prec fCO2_ff 
     92    typeset PreviousLinelog LastPeriodDateBegin LastPeriodDateEnd LastDatesPeriod LastPREFIX 
    9093 
    9194    case ${config_UserChoices_PeriodLength} in 
     
    135138    [ ${CumulPeriod} -gt 1 ] && ( IGCM_sys_Get ${R_OUT_ATM_D}/${config_UserChoices_JobName}_Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat_${RefPeriod} Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ; IGCM_sys_Chmod u+w Bands_${RESOL_ATM_3D}_${NUM_PROC_ATM}prc.dat ) 
    136139 
     140     ##-- GHG forcing for the current year 
     141 
     142    if ( ${FirstInitialize} ) ; then 
     143         
     144        fCO2_ff=0 
     145        CO2SRF=0 
     146        CO2LU=0 
     147        CO2MBG=0 
     148        CO2_ppm=${lmdz_UserChoices_co2_init} 
     149        CO2_ppm_prec=${lmdz_UserChoices_co2_init} 
     150         
     151        IGCM_sys_Cp ${SUBMIT_DIR}/co2.log.init ${SUBMIT_DIR}/co2.log 
     152        IGCM_sys_Chmod u+w ${SUBMIT_DIR}/co2.log 
     153 
     154        echo "${CumulPeriod} ${PeriodDateBegin} ${PeriodDateEnd} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SRF} ${CO2LU}" |   \ 
     155             gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \ 
     156                              $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log 
     157 
     158    else 
     159 
     160#       get the fossile fuel file : 
     161        fCO2_ff=$( gawk "{if (match(\$0,\"${year}\ *${month}\")) {print \$5}}" ${SUBMIT_DIR}/PARAM/CMIP5_gridcar_CO2_emissions_fossil_fuel_Andres_1751-2007_monthly_SC_grid1x1.txt ) 
     162        fCO2_ff=$( echo "${fCO2_ff} / 1000." | bc -l  ) 
     163#       For Control, no fossil fuel emission : 
     164        fCO2_ff=0 
     165        echo "Fossil Fuel for control run  :" ${fCO2_ff} 
     166 
     167        # Get Previous line in co2.log 
     168        PreviousLinelog=$( tail -1 ${SUBMIT_DIR}/co2.log ) 
     169 
     170        # Get Previous period output PREFIX 
     171        LastPeriodDateBegin=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $2}' ) 
     172        LastPeriodDateEnd=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $3}' ) 
     173        eval LastDatesPeriod=${LastPeriodDateBegin}_${LastPeriodDateEnd} > /dev/null 2>&1 
     174        # Prefix for save files of this period 
     175        eval LastPREFIX=${config_UserChoices_JobName}_${LastDatesPeriod}  > /dev/null 2>&1 
     176 
     177        # Ocean 
     178         
     179        IGCM_sys_TestFileArchive ${R_OUT_OCE}/Debug/${LastPREFIX}_ocean.output 
     180        if [ $? = 0 ] ; then 
     181 
     182            if [ $DRYRUN -gt 1 ]; then 
     183                IGCM_sys_Cp ${R_OUT_OCE}/Debug/${LastPREFIX}_ocean.output ./ 
     184            else 
     185                IGCM_sys_Get ${R_OUT_OCE}/Debug/${LastPREFIX}_ocean.output ./ 
     186            fi 
     187            IGCM_comp_PrepareDeletedFiles ./${LastPREFIX}_ocean.output 
     188            CO2MBG=$( ${SUBMIT_DIR}/COMP/lmdz_analyse_pisces_out.awk ${LastPREFIX}_ocean.output ) 
     189            CO2MBG=$( echo ${CO2MBG} | sed -e "s/ *//" ) 
     190        else 
     191            echo "Error : file ${R_OUT_OCE}/Debug/${LastPREFIX}_ocean.output not found." 
     192            exit 1 
     193        fi 
     194 
     195        # Surface 
     196        IGCM_sys_TestFileArchive ${R_OUT_SRF}/Debug/${LastPREFIX}_out_orchidee_0000 
     197        if [ $? = 0 ] ; then 
     198            if [ $DRYRUN -gt 1 ]; then 
     199                IGCM_sys_Cp ${R_OUT_SRF}/Debug/${LastPREFIX}_out_orchidee_0000 ./ 
     200            else 
     201                IGCM_sys_Get ${R_OUT_SRF}/Debug/${LastPREFIX}_out_orchidee_0000 ./ 
     202            fi 
     203            IGCM_comp_PrepareDeletedFiles ./${LastPREFIX}_out_orchidee_0000 
     204            set +A CO2SBG -- $( ${SUBMIT_DIR}/COMP/lmdz_analyse_stomate_out.awk ${LastPREFIX}_out_orchidee_0000 ) 
     205        else 
     206            echo "Error : file ${R_OUT_OCE}/Debug/${LastPREFIX}_ocean.output not found." 
     207            exit 1 
     208        fi 
     209        CO2SRF=$( echo ${CO2SBG[0]} | sed -e "s/ *//" ) 
     210        CO2LU=$( echo ${CO2SBG[1]} | sed -e "s/ *//" ) 
     211 
     212        # Previous CO2 
     213        CO2_ppm_prec=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' ) 
     214 
     215        # Formula 
     216        CO2_ppm=$( echo "${CO2_ppm_prec} + (${fCO2_ff} + ${CO2MBG} + ${CO2SRF} + ${CO2LU}) / 2.12" | bc -l ) 
     217 
     218        # Save CO2 values in ExeCpuLog variable contents 5 fields 
     219        echo "${CumulPeriod} ${PeriodDateBegin} ${PeriodDateEnd} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SRF} ${CO2LU}" |   \ 
     220             gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \ 
     221                              $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log 
     222 
     223    fi 
     224 
    137225    ## physiq.def parameters modified from initial physiq_L${RESOL_ATM_Z} 
    138226    LMDZ_sed physiq.def OK_instan   ${OK_instan} 
     
    147235    LMDZ_sed physiq.def ok_hfCOSP   ${LMDZ_COSP_hf} 
    148236    LMDZ_sed physiq.def ok_histNMC  "${LMDZ_NMC_monthly}, ${LMDZ_NMC_daily}, ${LMDZ_NMC_hf}" 
     237#   For Control, we won't modify ATM CO2 : 
     238#    LMDZ_sed physiq.def co2_ppm     ${CO2_ppm} 
    149239 
    150240    ## gcm.def parameters : no change since gcm.def_${RESOL_ATM_3D} is used and already modified 
  • CONFIG/IPSLCM/IPSLCM5A/CpiControl/config.card

    r1049 r1233  
    99[UserChoices] 
    1010#============================ 
    11 JobName=EXP00 
     11JobName=CpiControl00 
    1212#----- Short Name of Experiment 
    13 ExperimentName=piControl 
     13ExperimentName=CpiControl 
    1414#----- DEVT TEST PROD 
    1515SpaceName=DEVT 
    16 LongName="IPSLCM5A CMIP5 DEVT phase piControl example with large outputs" 
    17 TagName=IPSLCM5A 
     16LongName="IPSLCM5A CMIP5 DEVT phase CpiControl example with large outputs" 
     17TagName=IPSLCM5A_C 
    1818#============================ 
    1919#-- leap, noleap, 360d 
Note: See TracChangeset for help on using the changeset viewer.