# # namelist type namelist_record name default_value # namelist integer sw_model config_test_case 5 namelist character sw_model config_time_integration RK4 namelist real sw_model config_dt 172.8 namelist integer sw_model config_ntimesteps 7500 namelist integer sw_model config_output_interval 500 namelist integer sw_model config_stats_interval 100 namelist real sw_model config_h_mom_eddy_visc2 0.0 namelist real sw_model config_h_mom_eddy_visc4 0.0 namelist real sw_model config_h_tracer_eddy_diff2 0.0 namelist real sw_model config_h_tracer_eddy_diff4 0.0 namelist integer sw_model config_thickness_adv_order 2 namelist integer sw_model config_tracer_adv_order 2 namelist logical sw_model config_positive_definite false namelist logical sw_model config_monotonic false namelist logical sw_model config_wind_stress false namelist logical sw_model config_bottom_drag false namelist real sw_model config_apvm_upwinding 0.5 namelist character io config_input_name grid.nc namelist character io config_output_name output.nc namelist character io config_restart_name restart.nc namelist character io config_decomp_file_prefix graph.info.part. namelist integer restart config_restart_interval 0 namelist logical restart config_do_restart false namelist real restart config_restart_time 172800.0 # # dim type name_in_file name_in_code # dim nCells nCells dim nEdges nEdges dim maxEdges maxEdges dim maxEdges2 maxEdges2 dim nVertices nVertices dim TWO 2 dim R3 3 dim FIFTEEN 15 dim TWENTYONE 21 dim vertexDegree vertexDegree dim nVertLevels nVertLevels dim nTracers nTracers # # var persistence type name_in_file ( dims ) time_levs iro- name_in_code struct super-array array_class # var persistent real xtime ( Time ) 2 ro xtime state - - var persistent real latCell ( nCells ) 0 iro latCell mesh - - var persistent real lonCell ( nCells ) 0 iro lonCell mesh - - var persistent real xCell ( nCells ) 0 iro xCell mesh - - var persistent real yCell ( nCells ) 0 iro yCell mesh - - var persistent real zCell ( nCells ) 0 iro zCell mesh - - var persistent integer indexToCellID ( nCells ) 0 iro indexToCellID mesh - - var persistent real latEdge ( nEdges ) 0 iro latEdge mesh - - var persistent real lonEdge ( nEdges ) 0 iro lonEdge mesh - - var persistent real xEdge ( nEdges ) 0 iro xEdge mesh - - var persistent real yEdge ( nEdges ) 0 iro yEdge mesh - - var persistent real zEdge ( nEdges ) 0 iro zEdge mesh - - var persistent integer indexToEdgeID ( nEdges ) 0 iro indexToEdgeID mesh - - var persistent real latVertex ( nVertices ) 0 iro latVertex mesh - - var persistent real lonVertex ( nVertices ) 0 iro lonVertex mesh - - var persistent real xVertex ( nVertices ) 0 iro xVertex mesh - - var persistent real yVertex ( nVertices ) 0 iro yVertex mesh - - var persistent real zVertex ( nVertices ) 0 iro zVertex mesh - - var persistent integer indexToVertexID ( nVertices ) 0 iro indexToVertexID mesh - - var persistent integer cellsOnEdge ( TWO nEdges ) 0 iro cellsOnEdge mesh - - var persistent integer nEdgesOnCell ( nCells ) 0 iro nEdgesOnCell mesh - - var persistent integer nEdgesOnEdge ( nEdges ) 0 iro nEdgesOnEdge mesh - - var persistent integer edgesOnCell ( maxEdges nCells ) 0 iro edgesOnCell mesh - - var persistent integer edgesOnEdge ( maxEdges2 nEdges ) 0 iro edgesOnEdge mesh - - var persistent real weightsOnEdge ( maxEdges2 nEdges ) 0 iro weightsOnEdge mesh - - var persistent real dvEdge ( nEdges ) 0 iro dvEdge mesh - - var persistent real dcEdge ( nEdges ) 0 iro dcEdge mesh - - var persistent real angleEdge ( nEdges ) 0 iro angleEdge mesh - - var persistent real areaCell ( nCells ) 0 iro areaCell mesh - - var persistent real areaTriangle ( nVertices ) 0 iro areaTriangle mesh - - var persistent real edgeNormalVectors ( R3 nEdges ) 0 o edgeNormalVectors mesh - - var persistent real localVerticalUnitVectors ( R3 nCells ) 0 o localVerticalUnitVectors mesh - - var persistent real cellTangentPlane ( R3 TWO nEdges ) 0 o cellTangentPlane mesh - - var persistent integer cellsOnCell ( maxEdges nCells ) 0 iro cellsOnCell mesh - - var persistent integer verticesOnCell ( maxEdges nCells ) 0 iro verticesOnCell mesh - - var persistent integer verticesOnEdge ( TWO nEdges ) 0 iro verticesOnEdge mesh - - var persistent integer edgesOnVertex ( vertexDegree nVertices ) 0 iro edgesOnVertex mesh - - var persistent integer cellsOnVertex ( vertexDegree nVertices ) 0 iro cellsOnVertex mesh - - var persistent real kiteAreasOnVertex ( vertexDegree nVertices ) 0 iro kiteAreasOnVertex mesh - - var persistent real fEdge ( nEdges ) 0 iro fEdge mesh - - var persistent real fVertex ( nVertices ) 0 iro fVertex mesh - - var persistent real fCell ( nCells ) 0 iro fCell mesh - - var persistent real h_s ( nCells ) 0 iro h_s mesh - - # Space needed for advection var persistent real deriv_two ( FIFTEEN TWO nEdges ) 0 o deriv_two mesh - - var persistent integer advCells ( TWENTYONE nCells ) 0 - advCells mesh - - # !! NOTE: the following arrays are needed to allow the use # !! of the module_advection.F w/o alteration # Space needed for deformation calculation weights var persistent real defc_a ( maxEdges nCells ) 0 - defc_a mesh - - var persistent real defc_b ( maxEdges nCells ) 0 - defc_b mesh - - var persistent real kdiff ( nVertLevels nCells Time ) 0 - kdiff mesh - - # Arrays required for reconstruction of velocity field var persistent real coeffs_reconstruct ( R3 maxEdges nCells ) 0 - coeffs_reconstruct mesh - - # Boundary conditions: read from input, saved in restart and written to output var persistent integer boundaryEdge ( nVertLevels nEdges ) 0 iro boundaryEdge mesh - - var persistent integer boundaryVertex ( nVertLevels nVertices ) 0 iro boundaryVertex mesh - - var persistent integer boundaryCell ( nVertLevels nCells ) 0 iro boundaryCell mesh - - var persistent real u_src ( nVertLevels nEdges ) 0 iro u_src mesh - - # Prognostic variables: read from input, saved in restart, and written to output var persistent real u ( nVertLevels nEdges Time ) 2 iro u state - - var persistent real h ( nVertLevels nCells Time ) 2 iro h state - - var persistent real tracers ( nTracers nVertLevels nCells Time ) 2 iro tracers state - - # Tendency variables var persistent real tend_u ( nVertLevels nEdges Time ) 1 - u tend - - var persistent real tend_h ( nVertLevels nCells Time ) 1 - h tend - - var persistent real tend_tracers ( nTracers nVertLevels nCells Time ) 1 - tracers tend - - # Diagnostic fields: only written to output var persistent real v ( nVertLevels nEdges Time ) 2 o v state - - var persistent real divergence ( nVertLevels nCells Time ) 2 o divergence state - - var persistent real vorticity ( nVertLevels nVertices Time ) 2 o vorticity state - - var persistent real vorticity_cell ( nVertLevels nCells Time ) 2 o vorticity_cell state - - var persistent real pv_edge ( nVertLevels nEdges Time ) 2 o pv_edge state - - var persistent real h_edge ( nVertLevels nEdges Time ) 2 o h_edge state - - var persistent real ke ( nVertLevels nCells Time ) 2 o ke state - - var persistent real pv_vertex ( nVertLevels nVertices Time ) 2 o pv_vertex state - - var persistent real pv_cell ( nVertLevels nCells Time ) 2 o pv_cell state - - var persistent real uReconstructX ( nVertLevels nCells Time ) 2 o uReconstructX state - - var persistent real uReconstructY ( nVertLevels nCells Time ) 2 o uReconstructY state - - var persistent real uReconstructZ ( nVertLevels nCells Time ) 2 o uReconstructZ state - - var persistent real uReconstructZonal ( nVertLevels nCells Time ) 2 o uReconstructZonal state - - var persistent real uReconstructMeridional ( nVertLevels nCells Time ) 2 o uReconstructMeridional state - - # Other diagnostic variables: neither read nor written to any files var persistent real vh ( nVertLevels nEdges Time ) 2 - vh state - - var persistent real circulation ( nVertLevels nVertices Time ) 2 - circulation state - - var persistent real gradPVt ( nVertLevels nEdges Time ) 2 - gradPVt state - - var persistent real gradPVn ( nVertLevels nEdges Time ) 2 - gradPVn state - - var persistent real h_vertex ( nVertLevels nVertices Time ) 2 - h_vertex state - -