MPAS Components and E3SM

MPAS Ocean

The Model for Prediction Across Scales Ocean (MPAS-O) is designed for the simulation of the ocean system from time scales of months to millenia and spatial scales from sub 1 km to global circulations.

MPAS-O has demonstrated the ability to accurately reproduce mesoscale ocean activity with a local mesh refinement strategy.

In addition to faciliating the study of multiscale phenomena within the ocean system, MPAS-O is intended for the study of anthropogenic climate change as the ocean component of climate system models.

Full documentaiton is available at: https://mpas-dev.github.io/ocean/ocean.html

Setting up Standalone MPAS-O Runs

In order to support all ocean analysis tasks from MPAS-Analysis, certain “analysis members”, Fortran modules that perform analysis during the simulation, need to be enabled.

The following is a list of suggested values for namelist options, typically found in namelist.ocean or mpaso_in (or mpas-o_in in older E3SM runs):

config_AM_surfaceAreaWeightedAverages_enable = .true.
config_AM_surfaceAreaWeightedAverages_compute_interval = '0000-00-00_01:00:00'
config_AM_layerVolumeWeightedAverage_enable = .true.
config_AM_layerVolumeWeightedAverage_compute_interval = '0000-00-00_01:00:00'
config_AM_meridionalHeatTransport_enable = .true.
config_AM_meridionalHeatTransport_compute_interval = '0000-00-00_01:00:00'
config_AM_mixedLayerDepths_enable = .true.
config_AM_timeSeriesStatsMonthly_enable = .true.

Additionally, the duration of the run should be set to at least two years and typically longer before most analysis is useful:

config_run_duration = '0002-00-00_00:00:00'

Several streams must be defined in the streams file, typically streams.ocean, (even if they will not be written out – output_interval="none"):

<stream name="timeSeriesStatsMonthlyRestart"
        type="input;output"
        filename_template="restarts/restart.AM.timeSeriesStatsMonthly.$Y-$M-$D_$h.$m.$s.nc"
        filename_interval="output_interval"
        reference_time="0001-01-01_00:00:00"
        clobber_mode="truncate"
        packages="timeSeriesStatsMonthlyAMPKG"
        input_interval="initial_only"
        output_interval="stream:restart:output_interval" >
</stream>

<stream name="timeSeriesStatsMonthlyOutput"
        type="output"
        filename_template="analysis_members/timeSeriesStatsMonthly.$Y-$M.nc"
        filename_interval="0000-01-00_00:00:00"
        reference_time="0001-01-01_00:00:00"
        clobber_mode="truncate"
        packages="timeSeriesStatsMonthlyAMPKG"
        output_interval="00-01-00_00:00:00" >

        <var_array name="activeTracers"/>
        <var name="normalVelocity"/>
        <var name="vertVelocityTop"/>
        <var_array name="avgValueWithinOceanRegion"/>
        <var_array name="avgValueWithinOceanLayerRegion"/>
        <var name="dThreshMLD"/>
        <var name="meridionalHeatTransportLatZ"/>
        <var name="meridionalHeatTransportLat"/>
        <var name="binBoundaryMerHeatTrans"/>
        <var name="xtime"/>
</stream>

<stream name="layerVolumeWeightedAverageOutput"
        type="output"
        io_type="pnetcdf"
        filename_template="mpaso.hist.am.layerVolumeWeightedAverage.$Y-$M-$D.nc"
        filename_interval="00-01-00_00:00:00"
        output_interval="none"
        clobber_mode="truncate"
        packages="layerVolumeWeightedAverageAMPKG">

    <var name="xtime"/>
    <var name="daysSinceStartOfSim"/>
    <var_array name="minValueWithinOceanLayerRegion"/>
    <var_array name="maxValueWithinOceanLayerRegion"/>
    <var_array name="avgValueWithinOceanLayerRegion"/>
    <var_array name="minValueWithinOceanVolumeRegion"/>
    <var_array name="maxValueWithinOceanVolumeRegion"/>
    <var_array name="avgValueWithinOceanVolumeRegion"/>
</stream>

<stream name="meridionalHeatTransportOutput"
        type="output"
        io_type="pnetcdf"
        filename_template="mpaso.hist.am.meridionalHeatTransport.$Y-$M-$D.nc"
        filename_interval="00-01-00_00:00:00"
        output_interval="none"
        clobber_mode="truncate"
        packages="meridionalHeatTransportAMPKG">

    <var name="xtime"/>
    <var name="daysSinceStartOfSim"/>
    <var name="binBoundaryMerHeatTrans"/>
    <var name="meridionalHeatTransportLatZ"/>
    <var name="meridionalHeatTransportLat"/>
    <var name="refZMid"/>
    <var name="refBottomDepth"/>
</stream>

<stream name="surfaceAreaWeightedAveragesOutput"
        type="output"
        io_type="netcdf"
        filename_template="mpaso.hist.am.surfaceAreaWeightedAverages.$Y-$M-$D.nc"
        filename_interval="00-01-00_00:00:00"
        output_interval="none"
        clobber_mode="truncate"
        packages="surfaceAreaWeightedAveragesAMPKG">

    <var name="xtime"/>
    <var name="daysSinceStartOfSim"/>
    <var_array name="minValueWithinOceanRegion"/>
    <var_array name="maxValueWithinOceanRegion"/>
    <var_array name="avgValueWithinOceanRegion"/>
</stream>

<stream name="mixedLayerDepthsOutput"
        type="output"
        io_type="pnetcdf"
        filename_template="mpaso.hist.am.mixedLayerDepths.$Y-$M-$D.nc"
        filename_interval="00-01-00_00:00:00"
        output_interval="none"
        clobber_mode="truncate"
        packages="mixedLayerDepthsAMPKG">

    <var name="xtime"/>
    <var name="daysSinceStartOfSim"/>
    <stream name="mesh"/>
    <var name="tThreshMLD"/>
    <var name="dThreshMLD"/>
    <var name="tGradMLD"/>
    <var name="dGradMLD"/>
</stream>

The filename_tempalate can be modified as desired (in most cases, these are the defalult values from E3SM). For the timeSeriesStatsMonthlyOutput stream, both the filename_interval and the output_interval must currently be monthly ("0000-01-00_00:00:00").

Additional fields can be included in the timeSeriesStatsMonthlyOutput streams. These are the minimum that allow the analysis to run successfully.

MPAS-Seaice

The Model for Prediction Across Scales Sea Ice (MPAS-Seaice) is designed for the simulations of sea ice on unstructured grids supported by the MPAS framework. The model has not yet been publicly released and does not have public documentation.

Setting up Standalone MPAS Sea Ice Runs

In order to support all sea=ice analysis tasks from MPAS-Analysis, certain “analysis members”, Fortran modules that perform analysis during the simulation, need to be enabled.

The following is a list of suggested values for namelist options, typically found in namelist.seaice or mpassi_in (or mpas-cice_in in older E3SM runs):

config_AM_timeSeriesStatsMonthly_enable = .true.

Additionally, the duration of the run should be set to at least two years and typically longer before most analysis is useful:

config_run_duration = '0002-00-00_00:00:00'

Several streams must be defined in the streams file, typically streams.seaice or streams.cice in older E3SM runs, (even if they will not be written out – output_interval="none"):

<stream name="timeSeriesStatsMonthlyRestart"
        type="input;output"
        io_type="pnetcdf"
        filename_template="mpasseaice.rst.am.timeSeriesStatsMonthly.$Y-$M-$D_$S.nc"
        filename_interval="output_interval"
        clobber_mode="truncate"
        packages="timeSeriesStatsMonthlyAMPKG"
        input_interval="initial_only"
        output_interval="stream:restart:output_interval">
</stream>

<stream name="timeSeriesStatsMonthlyOutput"
        type="output"
        io_type="pnetcdf"
        filename_template="mpasseaice.hist.am.timeSeriesStatsMonthly.$Y-$M-$D.nc"
        filename_interval="00-01-00_00:00:00"
        output_interval="00-01-00_00:00:00"
        clobber_mode="truncate"
        packages="timeSeriesStatsMonthlyAMPKG">

        <var name="icePresent"/>
        <var name="iceAreaCell"/>
        <var name="iceVolumeCell"/>
        <var name="xtime"/>
</stream>

The filename_tempalate can be modified as desired (these are the defalult values from E3SM). For the timeSeriesStatsMonthlyOutput stream, both the filename_interval and the output_interval must currently be monthly ("0000-01-00_00:00:00").

Additional fields can be included in the timeSeriesStatsMonthlyOutput streams. These are the minimum that allow the analysis to run successfully.

E3SM

The Energy Exascale Earth System Model (E3SM) Project is an ongoing, state-of-the-science Earth system modeling, simulation, and prediction project that optimizes the use of DOE laboratory resources to meet the science needs of the nation and the mission needs of DOE.

A Full description of E3SM is available at: https://e3sm.org/

Setting up E3SM runs

All online analysis and output stream within MPAS components (MPAS-O and MPAS-SeaIce) are configured to support MPAS-Analysis without any modifications to namelists or streams files.