Repository revision
0:7a7ba86e95a4

Repository 'cesm'
hg clone https://toolshed.g2.bx.psu.edu/repos/climate/cesm

CESM tool metadata
Miscellaneous
CESM
Community Earth System Model
cesm
toolshed.g2.bx.psu.edu/repos/climate/cesm/cesm/2.1.3+galaxy0
2.1.3+galaxy0
None
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/climate/cesm/cesm/2.1.3+galaxy0 (this tool)
cesm
Requirements (dependencies defined in the <requirements> tag set)
name version type
cesm 2.1.3 package
tar 1.32 package
binutils 2.35 package
python 3 package
Additional information about this tool
export HOME=`pwd` &&
        export USER='FAKEUSER' &&
        export AR=x86_64-conda_cos6-linux-gnu-ar &&
        mkdir -p .cime &&
        cp '$__tool_directory__/config' .cime/config &&
        cp '$__tool_directory__/config_compilers.xml' '.cime/config_compilers.xml' &&
        bash '$__tool_directory__/create_config_machines.sh' \${GALAXY_SLOTS:-4} &&
        mv 'config_machines_galaxy.xml' '.cime/config_machines.xml' &&
        mkdir inputdata &&
        mkdir output_dir &&
        mkdir logs_dir &&
        mkdir -p usermods_dirs/SourceMods &&
        #if $input_type.tarball == 'yes'
            echo "Getting inputdata from tarball" && 
            tar -xf '$input_type.inputdata' -C 'inputdata/' &&
        #else
            echo "Getting inputdata from collection" &&
            #for $input_file in $input_type.input_data_collection
                bash '$__tool_directory__/create_mapping.sh' '${input_file}' '${input_file.element_identifier}' '$mapping' &&
            #end for
        #end if
        #if $condi_user_mods.add_changes == 'yes'
            #for $s in $condi_user_mods.usermods
                echo "User mod ${s.srcmod} ${s.srcmod.element_identifier}" &&
                ln -s '${s.srcmod}' 'usermods_dirs/SourceMods/${s.srcmod.element_identifier}' &&
            #end for
        #end if
        echo "create case" &&
        create_newcase --case '$casename' --compset '$condi_compset.compset' --machine galaxy 
            --pesfile '$__tool_directory__/config_pes.xml'
        #if $condi_user_mods.add_changes
            --user-mods-dir ./usermods_dirs
        #end if
            --res $condi_compset.resolution  > '$case_info'  2>&1 && 
        echo "create done" &&
        cd '$casename' &&
        #if str($adv_period.condi_type_run.run_type) == 'hybrid' or str($adv_period.condi_type_run.run_type) == 'branch':
            ./xmlchange RUN_TYPE=$adv_period.condi_type_run.run_type &&
            ./xmlchange RUN_REFDATE=$adv_period.condi_type_run.run_refdate &&
            ./xmlchange RUN_REFCASE=$adv_period.condi_type_run.run_refcase &&
        #end if
        #if ((str($adv_period.condi_type_run.run_type) == 'hybrid' or str($adv_period.condi_type_run.run_type) == 'startup') and $adv_period.condi_type_run.run_startdate != '')
            ./xmlchange RUN_STARTDATE=$adv_period.condi_type_run.run_startdate &&
        #end if
        ./xmlchange STOP_N=$adv_period.stopn &&
        ./xmlchange STOP_OPTION=$adv_period.stop_option &&
        ./xmlchange DOUT_S=FALSE &&
        #if str($adv_period.hist_option) != 'unset'
            ./xmlchange HIST_OPTION=$adv_period.hist_option &&
        #end if
        #if str($adv_restart.restart_option) != 'unset'
            ./xmlchange REST_N=$adv_restart.restn &&
            ./xmlchange REST_OPTION=$adv_restart.restart_option &&
        #end if
        #if $adv_restart.interim_files
            ./xmlchange DOUT_S_SAVE_INTERIM_RESTART_FILES=TRUE &&
        #end if
        #if str($adv_lnd.user_nl_lnd_customization) != 'None'
            cp '$adv_lnd.user_nl_lnd_customization' user_nl_clm &&
        #end if
        #if str($adv_atm.user_nl_atm_customization) != 'None'
            cp '$adv_atm.user_nl_atm_customization' user_nl_cam &&
        #end if
        #if str($adv_rof.user_nl_rof_customization) != 'None'
            cp '$adv_rof.user_nl_rof_customization' user_nl_rof &&
        #end if
        #if str($adv_glc.user_nl_glc_customization) != 'None'
            cp '$adv_glc.user_nl_glc_customization' user_nl_cism &&
        #end if
        #if str($adv_ocn.user_nl_ocn_customization) != 'None'
            cp '$adv_ocn.user_nl_ocn_customization' user_nl_ocn &&
        #end if
        #if str($adv_ice.user_nl_ice_customization) != 'None'
            cp '$adv_ice.user_nl_ice_customization' user_nl_cice &&
        #end if
        #if str($adv_lnd.inputs) != 'None'
            echo "LAND customized inputs" &&
            #for $i in $adv_lnd.inputs
                ln -s '${i}' ${i.element_identifier} &&
            #end for
        #end if
        #if str($adv_atm.inputs) != 'None'
            echo "ATM customized inputs" &&
            #for $i in $adv_atm.inputs
                ln -s '${i}' ${i.element_identifier} &&
            #end for
        #end if
        #if str($adv_rof.inputs) != 'None'
            echo "ROF customized inputs" &&
            #for $i in $adv_rof.inputs
                ln -s '${i}' ${i.element_identifier} &&
            #end for
        #end if
        #if str($adv_glc.inputs) != 'None'
            echo "GLC customized inputs" &&
            #for $i in $adv_glc.inputs
                ln -s '${i}' ${i.element_identifier} &&
            #end for
        #end if
        #if str($adv_ocn.inputs) != 'None'
            echo "OCN customized inputs" &&
            #for $i in $adv_ocn.inputs
                ln -s '${i}' ${i.element_identifier} &&
            #end for
        #end if
        #if str($adv_ice.inputs) != 'None'
            echo "ICE customized inputs" &&
            #for $i in $adv_ice.inputs
                ln -s '${i}' ${i.element_identifier} &&
            #end for
        #end if
        ./case.setup >> '$case_info'  2>&1 &&
        ./case.build >> '$case_info'  2>&1 &&
        #if str($adv_period.condi_type_run.run_type) == 'hybrid' or str($adv_period.condi_type_run.run_type) == 'branch':
            tar -xf '$adv_period.condi_type_run.restart' -C '../work/$casename/run/' && 
        #end if
        ( ./case.submit >> '$case_info'  2>&1 || true ) &&
        ( grep "MODEL EXECUTION HAS FINISHED" '$case_info' || 
           ( echo "Case failed" && cd .. && tar cf $work work && 
             bash '$__tool_directory__/save_logs.sh' 'work/$casename/run/' logs_dir '$case_info' &&
             exit 1 )
        ) &&
        echo "CURRENT PATH" &&
        echo "\$HOME"       &&
        cd "\$HOME"         && 
        mkdir -p restart                              &&
        #if (str($adv_restart.restart_option) != 'never')
            bash '$__tool_directory__/save_restart.sh' 'work/$casename/run/' '$casename' restart '$case_info' &&
            cat 'work/$casename/run/rpointer'.* > $rinfo 2>> '$case_info'  &&
        #end if
        cd restart && 
        tar cvf $restart . &&
        cd "\$HOME"        && 
        #if (str($adv_period.hist_option) != 'never')
            cp 'work/$casename/run/$casename'.*.h*.*.nc output_dir/ 2>> '$case_info' &&
        #end if
        bash '$__tool_directory__/save_logs.sh' 'work/$casename/run/' logs_dir '$case_info' &&
        #if $save_workdir
            tar cf '$work' work  &&
        #end if
        echo "MODEL RUN COMPLETED"
    
None
False
Functional tests
name inputs outputs required files
Test-1 input_type|inputdata: inputdata_FKESSLER_ne30_g16_cesm2.1.3.tar
input_type|tarball: yes
casename: FKESSLER
condi_compset|resolution: ne30_g16 --run-unsupported
condi_compset|compset: FKESSLER
save_workdir: False
adv_period|condi_type_run|run_type: startup
adv_period|stopn: 1
adv_period|stop_option: nsteps
adv_period|hist_option: never
adv_restart|restart_option: never
name: value
inputdata_FKESSLER_ne30_g16_cesm2.1.3.tar
value
Test-2 input_type|input_data_collection: cam_vcoords_L30_c180105.nc
input_type|mapping: inputdata_mapping.txt
input_type|tarball: no
casename: FKESSLER
condi_compset|resolution: ne30_g16 --run-unsupported
condi_compset|compset: FKESSLER
save_workdir: False
adv_period|condi_type_run|run_type: startup
adv_period|stopn: 1
adv_period|stop_option: nsteps
adv_period|hist_option: never
adv_restart|restart_option: never
name: value
cam_vcoords_L30_c180105.nc
inputdata_mapping.txt
value
Test-3 input_type|inputdata: inputdata_FKESSLER_ne30_g16_cesm2.1.3.tar
input_type|tarball: yes
casename: FKESSLER
condi_compset|resolution: ne30_g16 --run-unsupported
condi_compset|compset: FKESSLER
save_workdir: False
adv_period|condi_type_run|run_type: startup
adv_period|stopn: 1
adv_period|stop_option: nsteps
adv_period|hist_option: never
adv_restart|restart_option: never
adv_atm|user_nl_atm_customization: user_nl_cam
name: value
inputdata_FKESSLER_ne30_g16_cesm2.1.3.tar
user_nl_cam
value