Mercurial > repos > climate > cesm
view cesm.xml @ 0:7a7ba86e95a4 draft default tip
"planemo upload for repository https://github.com/ESCOMP/CESM commit 5c969e494841237de0b2301520d9321672cc9f5b"
author | climate |
---|---|
date | Tue, 15 Jun 2021 09:39:23 +0000 |
parents | |
children |
line wrap: on
line source
<tool id="cesm" name="CESM" profile="20.05" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> <description>Community Earth System Model</description> <macros> <import>macros.xml</import> </macros> <expand macro="edam_ontology"/> <requirements> <requirement type="package" version="2.1.3">cesm</requirement> <requirement type="package" version="1.32">tar</requirement> <requirement type="package" version="2.35">binutils</requirement> <requirement type="package" version="3">python</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ 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" ]]></command> <inputs> <conditional name="input_type"> <param name="tarball" type="select" label="Provide inputdata as a tarball"> <option value="yes">Tarball</option> <option value="no" selected="true">List of netCDF input files</option> </param> <when value="yes"> <param name="inputdata" type="data" format='tar' label="inputdata for running CESM (tarball)" /> </when> <when value="no"> <param name="input_data_collection" type="data" format="netcdf" multiple="true" label="Select input data" help="Select all the netCDF files you would need for running the chosen compset and resolution"/> <param name="mapping" type="data" format='txt' label="Text file for mapping files in inputdata collection to physical files"/> </when> </conditional> <param name="casename" type="text" value="usecase" label="Name of your case"> <validator type="regex" message="start with a letter and no blanks">^[A-Za-z][A-Za-z0-9]*</validator> </param> <conditional name="condi_compset"> <param name="compset" type="select" label="Model compset"> <option value="FKESSLER">FKESSLER</option> <option value="F2000climo">F2000climo</option> <option value="QPC6">QPC6</option> <option value="QSC6">QSC6</option> <option value="F1850">F1850</option> <option value="FHIST">FHIST</option> <option value="B1850">B1850</option> <option value="BHIST">BHIST</option> </param> <when value="FKESSLER"> <param name="resolution" type="select" label="Model resolution"> <option value="ne30_g16 --run-unsupported">ne30_g16</option> <option value="f09_f09_mg17">f09_f09_mg17</option> <option value="f19_f19_mg17">f19_f19_mg17</option> </param> </when> <when value="F2000climo"> <param name="resolution" type="select" label="Model resolution"> <option value="f09_f09_mg17">f09_f09_mg17</option> <option value="f19_g17 --run-unsupported">f19_g17</option> <option value="f19_f19_mg17 --run-unsupported">f19_f19_mg17</option> </param> </when> <when value="FHIST"> <param name="resolution" type="select" label="Model resolution"> <option value="f09_f09_mg17">f09_f09_mg17</option> </param> </when> <when value="QPC6"> <param name="resolution" type="select" label="Model resolution"> <option value="f09_f09_mg17">f09_f09_mg17</option> <option value="f19_f19_mg17">f19_f19_mg17</option> </param> </when> <when value="QSC6"> <param name="resolution" type="select" label="Model resolution"> <option value="f09_f09_mg17">f09_f09_mg17</option> <option value="f19_f19_mg17">f19_f19_mg17</option> </param> </when> <when value="F1850"> <param name="resolution" type="select" label="Model resolution"> <option value="f19_f19_mg17 --run-unsupported"></option> </param> </when> <when value="B1850"> <param name="resolution" type="select" label="Model resolution"> <option value="f09_g17_gl4">f09_g17_gl4</option> <option value="f09_g17">f09_g17</option> <option value="f19_g17_gl4">f19_g17_gl4</option> <option value="f19_g17">f19_g17</option> </param> </when> <when value="BHIST"> <param name="resolution" type="select" label="Model resolution"> <option value="f09_g17_gl4">f09_g17_gl4</option> <option value="f09_g17">f09_g17</option> <option value="f19_g17_gl4">f19_g17_gl4</option> <option value="f19_g17">f19_g17</option> </param> </when> </conditional> <param name="save_workdir" type="boolean" value="false" label="Save workdir as a tarball when successful"/> <section name="adv_period" title="Customize the model run period" expanded="false"> <conditional name="condi_type_run"> <param name="run_type" type="select" label="Determines the model run initialization type."> <option value="startup" selected="true">startup</option> <option value="hybrid">hybrid</option> <option value="branch">branch</option> </param> <when value="startup"> <param name="run_startdate" type="text" value="" label="Run start date (yyyy-mm-dd). Only used for startup or hybrid runs."> <validator type="regex" message="YYYY-MM-DD">(^$|(\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])))</validator> </param> </when> <when value="branch"> <param name="run_refcase" type="text" value="" label="Reference case for hybrid or branch runs"/> <param name="run_refdate" type="text" value="" label="Reference date for hybrid or branch runs (yyyy-mm-dd)"> <validator type="regex" message="YYYY-MM-DD">(^$|(\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])))</validator> </param> <param name="restart" type="data" format='tar' label="restart for running CESM"/> </when> <when value="hybrid"> <param name="run_refcase" type="text" value="" label="Reference case for hybrid or branch runs"/> <param name="run_refdate" type="text" value="" label="Reference date for hybrid or branch runs (yyyy-mm-dd)"> <validator type="regex" message="YYYY-MM-DD">(^$|(\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])))</validator> </param> <param name="run_startdate" type="text" value="" label="Run start date (yyyy-mm-dd). Only used for startup or hybrid runs."> <validator type="regex" message="YYYY-MM-DD">(^$|(\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])))</validator> </param> <param name="restart" type="data" format='tar' label="restart for running CESM"/> </when> </conditional> <param name="stopn" type="integer" value="5" label="Provides a numerical count for STOP_OPTION."/> <param name="stop_option" type="select" label=" Sets the run length along with STOP_N and STOP_DATE"> <option value="ndays" selected="true">ndays</option> <option value="none">none</option> <option value="never">never</option> <option value="nsteps">nsteps</option> <option value="nseconds">nseconds</option> <option value="nminutes">nminutes</option> <option value="nhours">nhours</option> <option value="nday">ndays</option> <option value="nmonths">nmonths</option> <option value="nyears">nyears</option> <option value="date">date</option> <option value="ifdays0">ifday0</option> <option value="end">end</option> </param> <param name="hist_option" type="select" label="Sets driver snapshot history file frequency"> <option value="unset" selected="true">unset</option> <option value="ndays">ndays</option> <option value="none">none</option> <option value="never">never</option> <option value="nsteps">nsteps</option> <option value="nseconds">nseconds</option> <option value="nminutes">nminutes</option> <option value="nhours">nhours</option> <option value="nday">ndays</option> <option value="nmonths">nmonths</option> <option value="nyears">nyears</option> <option value="date">date</option> <option value="ifdays0">ifday0</option> <option value="end">end</option> </param> </section> <section name="adv_restart" title="Customize the model restart period" expanded="false"> <param name="restn" type="integer" value="12" label="Provides a numerical count for RESTART_OPTION (only if REST_N is different from 'unset')."/> <param name="restart_option" type="select" label="Sets frequency of model restart writes in conjuction with REST_N (default is 'unset' e.g. STOP_N and STOP_OPTION)"> <option value="unset" selected="true">unset</option> <option value="ndays">ndays</option> <option value="none">none</option> <option value="never">never</option> <option value="nsteps">nsteps</option> <option value="nseconds">nseconds</option> <option value="nminutes">nminutes</option> <option value="nhours">nhours</option> <option value="nday">ndays</option> <option value="nmonths">nmonths</option> <option value="nyears">nyears</option> <option value="date">date</option> <option value="ifdays0">ifday0</option> <option value="end">end</option> </param> <param name="interim_files" type="boolean" value="false" label=""/> </section> <section name="adv_lnd" title="Land namelist user customization" expanded="false"> <param name="user_nl_lnd_customization" type="data" format="txt" optional="true" label="LAND User namelist (lnd_in)"/> <param name="inputs" type="data" format="netcdf" multiple="true" optional="true" label="Customized Input files for LAND component"/> </section> <section name="adv_rof" title="River-runoff namelist user customization" expanded="false"> <param name="user_nl_rof_customization" type="data" format="txt" optional="true" label="ROF User namelist (rof_in)"/> <param name="inputs" type="data" format="netcdf" multiple="true" optional="true" label="Customized Input files for River-runoff component"/> </section> <section name="adv_atm" title="Atmopshere namelist user customization" expanded="false"> <param name="user_nl_atm_customization" type="data" format="txt" optional="true" label="ATM User namelist (atm_in)"/> <param name="inputs" type="data" format="netcdf" multiple="true" optional="true" label="Customized Input files for Atmosphere component"/> </section> <section name="adv_glc" title="Land-ice namelist user customization" expanded="false"> <param name="user_nl_glc_customization" type="data" format="txt" optional="true" label="CISM User namelist (cism_in)"/> <param name="inputs" type="data" format="netcdf" multiple="true" optional="true" label="Customized Input files for Land-Ice component"/> </section> <section name="adv_ice" title="Sea-ice namelist user customization" expanded="false"> <param name="user_nl_ice_customization" type="data" format="txt" optional="true" label="ICE User namelist (ice_in)"/> <param name="inputs" type="data" format="netcdf" multiple="true" optional="true" label="Customized Input files for Sea-Ice component"/> </section> <section name="adv_ocn" title="Ocean namelist user customization" expanded="false"> <param name="user_nl_ocn_customization" type="data" format="txt" optional="true" label="OCN User namelist (ocn_in)"/> <param name="inputs" type="data" format="netcdf" multiple="true" optional="true" label="Customized Input files for Ocean component"/> </section> <conditional name="condi_user_mods"> <param name="add_changes" type="select" label="user-modified source code"> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> <repeat name="usermods" title="SourceMods files"> <param name="srcmod" type="data" format="txt" label="Modified source file"/> </repeat> </when> <when value="no"/> </conditional> </inputs> <outputs> <data name="work" format="tar" label="${tool.name} on ${casename} (workdir)"> <filter> save_workdir == True</filter> </data> <data name="restart" format="tar" label="${tool.name} on ${casename} (restart)"/> <data name="rinfo" format="txt" label="${tool.name} on ${casename} (restart info)"/> <data name="case_info" format="txt" label="${tool.name} on ${casename} (case info)"/> <collection name="logs_files" type="list" label="${tool.name} on ${casename} (logfiles)"> <discover_datasets pattern="__name__" directory="logs_dir" visible="false" format="txt"/> </collection> <collection name="history_files" type="list" label="${tool.name} on ${casename} (history file)"> <discover_datasets pattern="__name__" directory="output_dir" visible="true" format="netcdf"/> </collection> </outputs> <tests> <test> <conditional name="input_type"> <param name="tarball" value="yes" /> <param name="inputdata" ftype="tar" value="inputdata_FKESSLER_ne30_g16_cesm2.1.3.tar" /> </conditional> <param name="casename" value="FKESSLER" /> <conditional name="condi_compset"> <param name="compset" value="FKESSLER" /> <param name="resolution" value="ne30_g16 --run-unsupported" /> </conditional> <param name="save_workdir" value="false"/> <section name="adv_period"> <conditional name="condi_type_run"> <param name="run_type" value="startup"/> </conditional> <param name="stop_option" value="nsteps" /> <param name="stopn" value="1" /> <param name="hist_option" value="never" /> </section> <section name="adv_restart"> <param name="restart_option" value="never"/> </section> <output name="case_info" ftype="txt" file="case_info.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="MODEL EXECUTION HAS FINISHED" /> </assert_contents> </output> <output_collection name="logs_files" type="list"> <element name="atm_log.txt" ftype="txt" file="atm_log.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="END OF MODEL RUN" /> </assert_contents> </element> <element name="cesm_log.txt" ftype="txt" file="cesm_log.txt" compare="sim_size" delta="1000"> </element> <element name="cpl_log.txt" ftype="txt" file="cpl_log.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="SUCCESSFUL TERMINATION" /> </assert_contents> </element> </output_collection> </test> <test> <conditional name="input_type"> <param name="tarball" value="no" /> <param name="input_data_collection" ftype="netcdf" value="cam_vcoords_L30_c180105.nc" /> <param name="mapping" ftype='txt' value="inputdata_mapping.txt" /> </conditional> <param name="casename" value="FKESSLER" /> <conditional name="condi_compset"> <param name="compset" value="FKESSLER" /> <param name="resolution" value="ne30_g16 --run-unsupported" /> </conditional> <param name="save_workdir" value="false"/> <section name="adv_period"> <conditional name="condi_type_run"> <param name="run_type" value="startup"/> </conditional> <param name="stop_option" value="nsteps" /> <param name="stopn" value="1" /> <param name="hist_option" value="never" /> </section> <section name="adv_restart"> <param name="restart_option" value="never"/> </section> <output name="case_info" ftype="txt" file="case_info.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="MODEL EXECUTION HAS FINISHED" /> </assert_contents> </output> <output_collection name="logs_files" type="list"> <element name="atm_log.txt" ftype="txt" file="atm_log.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="END OF MODEL RUN" /> </assert_contents> </element> <element name="cesm_log.txt" ftype="txt" file="cesm_log.txt" compare="sim_size" delta="1000"> </element> <element name="cpl_log.txt" ftype="txt" file="cpl_log.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="SUCCESSFUL TERMINATION" /> </assert_contents> </element> </output_collection> </test> <test> <conditional name="input_type"> <param name="tarball" value="yes" /> <param name="inputdata" ftype="tar" value="inputdata_FKESSLER_ne30_g16_cesm2.1.3.tar" /> </conditional> <param name="casename" value="FKESSLER" /> <conditional name="condi_compset"> <param name="compset" value="FKESSLER" /> <param name="resolution" value="ne30_g16 --run-unsupported" /> </conditional> <param name="save_workdir" value="false"/> <section name="adv_period"> <conditional name="condi_type_run"> <param name="run_type" value="startup"/> </conditional> <param name="stop_option" value="nsteps" /> <param name="stopn" value="1" /> <param name="hist_option" value="never" /> </section> <section name="adv_restart"> <param name="restart_option" value="never"/> </section> <section name="adv_atm"> <param name="user_nl_atm_customization" ftype="txt" value="user_nl_cam" /> </section> <output name="case_info" ftype="txt" file="case_info.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="MODEL EXECUTION HAS FINISHED" /> </assert_contents> </output> <output_collection name="logs_files" type="list"> <element name="atm_log.txt" ftype="txt" file="atm_log.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="END OF MODEL RUN" /> </assert_contents> </element> <element name="cesm_log.txt" ftype="txt" file="cesm_log.txt" compare="sim_size" delta="1000"> </element> <element name="cpl_log.txt" ftype="txt" file="cpl_log.txt" compare="sim_size" delta="1000"> <assert_contents> <has_text text="SUCCESSFUL TERMINATION" /> </assert_contents> </element> </output_collection> </test> </tests> <help><![CDATA[ **The Community Earth System Model (CESM)** ========================================================================== This tool creates and runs CESM experiments from CESM supported release. CESM is a fully-coupled, community, global climate model that provides state-of-the-art computer simulations of the Earth's past, present, and future climate states. Available component configurations and grids: ---------------------------------------------- - `Grid Resolutions <https://www.cesm.ucar.edu/models/cesm2/config/2.1.3/grids.html>`_ - `Component Sets <https://www.cesm.ucar.edu/models/cesm2/config/2.1.3/compsets.html>`_ - `Component Configuration Settings <https://www.cesm.ucar.edu/models/cesm2/settings/2.1.3/>`_ ]]></help> <expand macro="citations"/> </tool>