LCOV - code coverage report
Current view: top level - control - history_scam.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 48 0.0 %
Date: 2025-03-13 18:42:46 Functions: 0 1 0.0 %

          Line data    Source code
       1             : module history_scam
       2             : !----------------------------------------------------------------------- 
       3             : ! 
       4             : ! Purpose: SCAM specific history code.
       5             : !
       6             : ! Public functions/subroutines:
       7             : !   bldfld, h_default
       8             : ! 
       9             : ! Author: anonymous from code in cam_history.F90
      10             : !-----------------------------------------------------------------------
      11             :    use shr_kind_mod, only: r8 => shr_kind_r8
      12             : 
      13             :    implicit none
      14             : 
      15             : PRIVATE
      16             : 
      17             :    public :: scm_intht
      18             : 
      19             : !#######################################################################
      20             : CONTAINS
      21           0 :    subroutine scm_intht()
      22             : !----------------------------------------------------------------------- 
      23             : ! 
      24             : ! Purpose: 
      25             : !
      26             : ! add master list fields to scm
      27             : ! 
      28             : ! Method: Call a subroutine to add each field
      29             : ! 
      30             : ! Author: CCM Core Group
      31             : ! 
      32             : !-----------------------------------------------------------------------
      33             :       use cam_history, only: addfld, add_default, horiz_only
      34             : !-----------------------------------------------------------------------
      35             : !
      36             : !-----------------------------------------------------------------------
      37             : ! Local variables
      38             : !
      39             :       integer m,j        ! Indices
      40             :       real(r8) dummy
      41             : !
      42             : ! Call addfld to add each field to the Master Field List.
      43             : !
      44           0 :       call addfld ('TDIFF',    (/ 'lev' /), 'A', 'K','difference from observed temp',                    gridname='gauss_grid')
      45           0 :       call addfld ('UDIFF',    (/ 'lev' /), 'A', 'K','difference from observed u wind',                  gridname='gauss_grid')
      46           0 :       call addfld ('VDIFF',    (/ 'lev' /), 'A', 'K','difference from observed v wind',                  gridname='gauss_grid')
      47             : 
      48           0 :       call addfld ('TOBS',     (/ 'lev' /), 'A', 'K','observed temp')
      49           0 :       call addfld ('QDIFF',    (/ 'lev' /), 'A', 'kg/kg','difference from observed water',               gridname='gauss_grid')
      50             : 
      51           0 :       call addfld ('QOBS',     (/ 'lev' /), 'A', 'kg/kg','observed water',                               gridname='physgrid')
      52             :       call addfld ('PRECOBS',  (/ 'lev' /), 'A', 'mm/day','Total (convective and large-scale) precipitation rate',             &
      53           0 :                                                                                                          gridname='physgrid')
      54           0 :       call addfld ('DIVQ',     (/ 'lev' /), 'A', 'kg/kg/s','Q advection tendency (horizontal)',          gridname='physgrid')
      55           0 :       call addfld ('DIVQ3D',   (/ 'lev' /), 'A', 'kg/kg/s','Q advection tendency (horiz/vert combined)', gridname='gauss_grid')
      56           0 :       call addfld ('DIVV',     (/ 'lev' /), 'A', 'm/s2','V advection tendency (horizontal)',             gridname='physgrid')
      57           0 :       call addfld ('DIVU',     (/ 'lev' /), 'A', 'm/s2','U advection tendency (horizontal)',             gridname='physgrid')
      58           0 :       call addfld ('DIVT',     (/ 'lev' /), 'A', 'K/s','T advection tendency (horizontal)',              gridname='physgrid')
      59           0 :       call addfld ('DIVT3D',   (/ 'lev' /), 'A', 'K/s','T advection tendency (horiz/vert combined)',     gridname='gauss_grid')
      60           0 :       call addfld ('DIVU3D',   (/ 'lev' /), 'A', 'K/s','U advection tendency (horiz/vert combined)',       gridname='gauss_grid')
      61           0 :       call addfld ('DIVV3D',   (/ 'lev' /), 'A', 'K/s','V advection tendency (horiz/vert combined)',       gridname='gauss_grid')
      62             : 
      63           0 :       call addfld ('SHFLXOBS', horiz_only,  'A', 'W/m2','Obs Surface sensible heat flux',                gridname='physgrid')
      64           0 :       call addfld ('LHFLXOBS', horiz_only,  'A', 'W/m2','Obs Surface latent heat flux',                  gridname='physgrid')
      65           0 :       call addfld ('TRELAX',   (/ 'lev' /), 'A', 'K','t relaxation amount',                              gridname='gauss_grid')
      66           0 :       call addfld ('QRELAX',   (/ 'lev' /), 'A', 'kg/kg','q relaxation amount',                          gridname='gauss_grid')
      67           0 :       call addfld ('TAURELAX', (/ 'lev' /), 'A', 'seconds','relaxation time constant',                   gridname='gauss_grid')
      68           0 :       call add_default ('TDIFF', 1, ' ')
      69           0 :       call add_default ('QDIFF', 1, ' ')
      70             : 
      71             :     ! Vertical advective forcing of 'T,u,v,qv,ql,qi,nl,ni' in forecast.F90
      72             : 
      73           0 :       call addfld ('TTEN_XYADV',   (/ 'lev' /), 'I', 'K/s',    'T  horizontal advective forcing',            gridname='gauss_grid' )
      74           0 :       call addfld ('UTEN_XYADV',   (/ 'lev' /), 'I', 'm/s^2',  'U  horizontal advective forcing',            gridname='gauss_grid' )
      75           0 :       call addfld ('VTEN_XYADV',   (/ 'lev' /), 'I', 'm/s^2',  'V  horizontal advective forcing',            gridname='gauss_grid' )
      76           0 :       call addfld ('QVTEN_XYADV',  (/ 'lev' /), 'I', 'kg/kg/s','QV horizontal advective forcing',            gridname='gauss_grid' )
      77           0 :       call addfld ('QLTEN_XYADV',  (/ 'lev' /), 'I', 'kg/kg/s','QL horizontal advective forcing',            gridname='gauss_grid' )
      78           0 :       call addfld ('QITEN_XYADV',  (/ 'lev' /), 'I', 'kg/kg/s','QI horizontal advective forcing',            gridname='gauss_grid' )
      79           0 :       call addfld ('NLTEN_XYADV',  (/ 'lev' /), 'I', '#/kg/s', 'NL horizontal advective forcing',            gridname='gauss_grid' )
      80           0 :       call addfld ('NITEN_XYADV',  (/ 'lev' /), 'I', '#/kg/s', 'NI horizontal advective forcing',            gridname='gauss_grid' )
      81             : 
      82             : !      call addfld ('T3D_ADV_SLT', 'K/s'     , pver, 'I', 'T  3d slt advective forcing',                 gridname='physgrid')
      83             : !      call addfld ('U3D_ADV_SLT', 'm/s^2'   , pver, 'I', 'U  3d slt advective forcing',                 gridname='physgrid')
      84             : !      call addfld ('V3D_ADV_SLT', 'm/s^2'   , pver, 'I', 'V  3d slt advective forcing',                 gridname='physgrid')
      85           0 :       call addfld ('TTEN_ZADV',   (/ 'lev' /), 'I', 'K/s',    'T  vertical   advective forcing',            gridname='gauss_grid' )
      86           0 :       call addfld ('UTEN_ZADV',   (/ 'lev' /), 'I', 'm/s^2',  'U  vertical   advective forcing',            gridname='gauss_grid' )
      87           0 :       call addfld ('VTEN_ZADV',   (/ 'lev' /), 'I', 'm/s^2',  'V  vertical   advective forcing',            gridname='gauss_grid' )
      88           0 :       call addfld ('QVTEN_ZADV',  (/ 'lev' /), 'I', 'kg/kg/s','QV vertical   advective forcing',            gridname='gauss_grid' )
      89           0 :       call addfld ('QLTEN_ZADV',  (/ 'lev' /), 'I', 'kg/kg/s','QL vertical   advective forcing',            gridname='gauss_grid' )
      90           0 :       call addfld ('QITEN_ZADV',  (/ 'lev' /), 'I', 'kg/kg/s','QI vertical   advective forcing',            gridname='gauss_grid' )
      91           0 :       call addfld ('NLTEN_ZADV',  (/ 'lev' /), 'I', '#/kg/s', 'NL vertical   advective forcing',            gridname='gauss_grid' )
      92           0 :       call addfld ('NITEN_ZADV',  (/ 'lev' /), 'I', '#/kg/s', 'NI vertical   advective forcing',            gridname='gauss_grid' )
      93             : 
      94           0 :       call addfld ('TTEN_PHYS',   (/ 'lev' /), 'I', 'K/s',    'T  vertical   advective forcing',            gridname='gauss_grid' )
      95           0 :       call addfld ('UTEN_PHYS',   (/ 'lev' /), 'I', 'm/s^2',  'U  vertical   advective forcing',            gridname='gauss_grid' )
      96           0 :       call addfld ('VTEN_PHYS',   (/ 'lev' /), 'I', 'm/s^2',  'V  vertical   advective forcing',            gridname='gauss_grid' )
      97           0 :       call addfld ('QVTEN_PHYS',   (/ 'lev' /), 'I','kg/kg/s','QV vertical   advective forcing',            gridname='gauss_grid' )
      98           0 :       call addfld ('QLTEN_PHYS',   (/ 'lev' /), 'I','kg/kg/s','QL vertical   advective forcing',            gridname='gauss_grid' )
      99           0 :       call addfld ('QITEN_PHYS',   (/ 'lev' /), 'I','kg/kg/s','QI vertical   advective forcing',            gridname='gauss_grid' )
     100           0 :       call addfld ('NLTEN_PHYS',   (/ 'lev' /), 'I','#/kg/s', 'NL vertical   advective forcing',            gridname='gauss_grid' )
     101           0 :       call addfld ('NITEN_PHYS',   (/ 'lev' /), 'I','#/kg/s', 'NI vertical   advective forcing',            gridname='gauss_grid' )
     102             : 
     103           0 :    end subroutine scm_intht
     104             : 
     105             : !#######################################################################
     106             :  end module history_scam

Generated by: LCOV version 1.14