jet.common= {
    use platform.defaults
    MACHINE_ID='jet.intel'
    HOMEnems=PWD_UP5
    HOMErt=OUTPUT_PATH
    INPUTS="@[BASELINE]"

    MPI='impi'

    embed bash detect [[[
        if [[ -d /lfs3 && -d /lfs1 ]] ; then
            exit 0
        fi
        exit 1
    ]]]

    SHORT_TEST_QUEUE='&SHORTQ;'
    LONG_TEST_QUEUE='&LONGQ;'
    BUILD_QUEUE='&BUILDQ;'

    TASK_THROTTLE='11'

    # Building on jet is slow because of multiple SIMD instruction sets
    BUILD_WALLTIME="7200"

    embed bash detect [[[
        # This function is used at PARSE TIME to detect whether we are
        # on Jet.  It must be very fast and low resource usage since
        # the parser runs it.
        if [[ -d /lfs3 && -d /lfs1 ]] ; then
            exit 0
        fi
        exit 1
    ]]]

    rocoto={
        install_dir="@[HOMErt]"
        log_dir="@[TMPrt]/log"
        scheduler="slurm"
        entities=[[[
  <!ENTITY SHORTQ "batch">
  <!ENTITY LONGQ "batch">
  <!ENTITY BUILDQ "batch"> <!-- NOTE: If you change this, you must change the partition too -->
]]]
        build_resources=[[[
      <!-- Build job resources minus wallclock -->
      <queue>@[BUILD_QUEUE]</queue>
      <cores>24</cores> <!-- 2 cores ensures exclusive access on Jet -->
      <partition>@[PARTITION]</partition>
      <envar><name>PRODUTIL_RUN_NODESIZE</name><value>@[cores_per_node]</value></envar>
]]]
        short_test_resources=[[[
    <!-- Short test job -->
    <queue>@[SHORT_TEST_QUEUE]</queue>
    <partition>@[PARTITION]</partition>
    <memory></memory> <!-- Unlimited memory -->
    <envar><name>PRODUTIL_RUN_NODESIZE</name><value>@[cores_per_node]</value></envar>
]]]
        long_test_resources=[[[
    <!-- Long test job -->
    <queue>@[LONG_TEST_QUEUE]</queue>
    <partition>@[PARTITION]</partition>
    <memory></memory> <!-- Unlimited memory -->
    <envar><name>PRODUTIL_RUN_NODESIZE</name><value>@[cores_per_node]</value></envar>
]]]
    }
}

########################################################################

# Twenty-four core jets

platform xjet {
    use jet.common
    PARTITION='xjet'
    cores_per_node=24
    cpus_per_core=2
    MPI='srun'

    BASELINE="/lfs3/projects/hfv3gfs/GMTB/RT/NEMSfv3gfs/trunk-20191021"
    BASELINE_TEMPLATE="/lfs3/projects/hfv3gfs/GMTB/RT/NEMSfv3gfs/trunk-20191021"

    default_resources={
        TASKS=150
        TPN=12
        INPES=3
        JNPES=8
        THRD=1
        WRTTASK_PER_GROUP=6
        atm_petlist_bounds="0 149"
        wav_petlist_bounds="150 191"
        CPLTASKS=192
    }
    default_stretched_resources={
        TASKS=48
        TPN=12
        INPES=2
        JNPES=4
        THRD=2
    }
    default_nested_resources={
	use default_stretched_resources
        TASKS=96
    }
    default_threaded_resources={
        TASKS=84
        TPN=6
        INPES=3
        JNPES=4
        THRD=2
        WRTTASK_PER_GROUP=12
    }

}

### ########################################################################
### 
### # Sixteen core jets
### 
### platform svjet {
###     use jet.common
###     cores_per_node=16
###     C768_PPN=14
###     cpus_per_core=2
###     PARTITION='sjet:vjet'
### 
###     BASELINE="/lfs3/projects/hfv3gfs/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613-svjet"
###     BASELINE_TEMPLATE="/lfs3/projects/hfv3gfs/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613-svjet"
### 
###     default_resources={
###         TASKS=150
###         TPN=6
###         INPES=3
###         JNPES=8
###         THRD=1
###         WRTTASK_PER_GROUP=6
###     }
###     default_stretched_resources={
###         TASKS=48
###         TPN=6
###         INPES=2
###         JNPES=4
###         THRD=2
###     }
###     default_nested_resources={
### 	use default_stretched_resources
###         TASKS=96
###     }
###     default_threaded_resources={
###         TASKS=84
###         TPN=3
###         INPES=3
###         JNPES=4
###         THRD=2
###         WRTTASK_PER_GROUP=12
###     }
### }
### 
### ########################################################################
### 
### # Twelve core jets
### 
### platform tujet {
###     use jet.common
###     cores_per_node=12
###     C768_PPN=10
###     cpus_per_core=2
###     PARTITION='ujet:tjet'
### 
###     BASELINE="/lfs3/projects/hfv3gfs/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613-tujet"
###     BASELINE_TEMPLATE="/lfs3/projects/hfv3gfs/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613-tujet"
### 
###     default_resources={
###         TASKS=150
###         TPN=6
###         INPES=3
###         JNPES=8
###         THRD=1
###         WRTTASK_PER_GROUP=6
###     }
###     default_stretched_resources={
###         TASKS=48
###         TPN=6
###         INPES=2
###         JNPES=4
###         THRD=2
###     }
###     default_nested_resources={
### 	use default_stretched_resources
###         TASKS=96
###     }
###     default_threaded_resources={
###         TASKS=84
###         TPN=3
###         INPES=3
###         JNPES=4
###         THRD=2
###         WRTTASK_PER_GROUP=12
###     }
### }
### 
### ########################################################################
### 
### # uJet SLURM test machine
### 
### platform ujet.slurm {
###     use jet.common
###     cores_per_node=12
###     C768_PPN=10
###     cpus_per_core=2
###     PARTITION='ujet'
###     MPI='srun'
### 
###     BASELINE="/lfs3/projects/hfv3gfs/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613-tujet"
###     BASELINE_TEMPLATE="/lfs3/projects/hfv3gfs/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613-tujet"
### 
###     embed bash detect [[[
###         if ( ! which sbatch > /dev/null 2>&1 ) ; then
###             exit 1
###         fi
###         if [[ -d /lfs3 && -d /pan2 ]] ; then
###             exit 0
###         fi
###         exit 1
###     ]]]
### 
###     default_resources={
###         TASKS=150
###         TPN=6
###         INPES=3
###         JNPES=8
###         THRD=1
###         WRTTASK_PER_GROUP=6
###     }
###     default_stretched_resources={
###         TASKS=48
###         TPN=6
###         INPES=2
###         JNPES=4
###         THRD=2
###     }
###     default_nested_resources={
### 	use default_stretched_resources
###         TASKS=96
###     }
###     default_threaded_resources={
###         TASKS=84
###         TPN=3
###         INPES=3
###         JNPES=4
###         THRD=2
###         WRTTASK_PER_GROUP=12
###     }
### 
###     rocoto={
###         install_dir="@[HOMErt]"
###         log_dir="@[TMPrt]/log"
###         scheduler="slurm"
###         entities=[[[
###   <!ENTITY SHORTQ "normal">
###   <!ENTITY LONGQ "normal">
###   <!ENTITY BUILDQ "normal"> <!-- NOTE: If you change this, you must change the partition too -->
### ]]]
###         build_resources=[[[
###       <!-- Build job resources minus wallclock -->
###       <queue>@[BUILD_QUEUE]</queue>
###       <cores>24</cores> <!-- 2 cores ensures exclusive access on Jet -->
###       <partition>@[PARTITION]</partition>
###       <envar><name>PRODUTIL_RUN_NODESIZE</name><value>@[cores_per_node]</value></envar>
### ]]]
###         short_test_resources=[[[
###     <!-- Short test job -->
###     <queue>@[SHORT_TEST_QUEUE]</queue>
###     <partition>@[PARTITION]</partition>
###     <memory></memory> <!-- Unlimited memory -->
###     <envar><name>PRODUTIL_RUN_NODESIZE</name><value>@[cores_per_node]</value></envar>
### ]]]
###         long_test_resources=[[[
###     <!-- Long test job -->
###     <queue>@[LONG_TEST_QUEUE]</queue>
###     <partition>@[PARTITION]</partition>
###     <memory></memory> <!-- Unlimited memory -->
###     <envar><name>PRODUTIL_RUN_NODESIZE</name><value>@[cores_per_node]</value></envar>
### ]]]
###     }
### }
###