LCOV - code coverage report
Current view: top level - icepack/columnphysics - icepack_intfc.F90 (source / functions) Hit Total Coverage
Test: 231018-211459:8916b9ff2c:1:quick Lines: 4 4 100.00 %
Date: 2023-10-18 15:30:36 Functions: 1 1 100.00 %

          Line data    Source code
       1             : !=======================================================================
       2             : ! Copyright (c) 2023, Triad National Security, LLC
       3             : ! All rights reserved.
       4             : !
       5             : ! Copyright 2023. Triad National Security, LLC. This software was
       6             : ! produced under U.S. Government contract DE-AC52-06NA25396 for Los
       7             : ! Alamos National Laboratory (LANL), which is operated by Triad
       8             : ! National Security, LLC for the U.S. Department of Energy. The U.S.
       9             : ! Government has rights to use, reproduce, and distribute this software.
      10             : ! NEITHER THE GOVERNMENT NOR TRIAD NATIONAL SECURITY, LLC MAKES ANY
      11             : ! WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF
      12             : ! THIS SOFTWARE. If software is modified to produce derivative works,
      13             : ! such modified software should be clearly marked, so as not to confuse
      14             : ! it with the version available from LANL.
      15             : !
      16             : ! The full license and distribution policy are available from
      17             : ! https://github.com/CICE-Consortium
      18             : !
      19             : !=======================================================================
      20             : !
      21             : ! authors: Elizabeth C. Hunke, LANL
      22             : !
      23             : 
      24             : !autodocument_start icepack_intfc.F90
      25             : ! public parameters and interface routines for the icepack columnpackage code
      26             : 
      27             :       module icepack_intfc
      28             : 
      29             :       use icepack_kinds, only: icepack_char_len  => char_len
      30             :       use icepack_kinds, only: icepack_char_len_long  => char_len_long
      31             :       use icepack_kinds, only: icepack_log_kind  => log_kind
      32             :       use icepack_kinds, only: icepack_int_kind  => int_kind
      33             :       use icepack_kinds, only: icepack_int8_kind => int8_kind
      34             :       use icepack_kinds, only: icepack_real_kind => real_kind
      35             :       use icepack_kinds, only: icepack_dbl_kind  => dbl_kind
      36             :       use icepack_kinds, only: icepack_r16_kind  => r16_kind
      37             : 
      38             :       use icepack_tracers,    only: icepack_max_nbtrcr => max_nbtrcr
      39             :       use icepack_tracers,    only: icepack_max_algae  => max_algae
      40             :       use icepack_tracers,    only: icepack_max_dic    => max_dic
      41             :       use icepack_tracers,    only: icepack_max_doc    => max_doc
      42             :       use icepack_tracers,    only: icepack_max_don    => max_don
      43             :       use icepack_tracers,    only: icepack_max_fe     => max_fe
      44             :       use icepack_tracers,    only: icepack_max_aero   => max_aero
      45             :       use icepack_tracers,    only: icepack_max_iso    => max_iso
      46             :       use icepack_tracers,    only: icepack_nmodal1    => nmodal1
      47             :       use icepack_tracers,    only: icepack_nmodal2    => nmodal2
      48             : 
      49             :       use icepack_shortwave_data, only: icepack_nspint_3bd => nspint_3bd
      50             :       use icepack_shortwave_data, only: icepack_nspint_5bd => nspint_5bd
      51             : 
      52             :       use icepack_parameters, only: icepack_init_parameters
      53             :       use icepack_parameters, only: icepack_query_parameters
      54             :       use icepack_parameters, only: icepack_write_parameters
      55             :       use icepack_parameters, only: icepack_recompute_constants
      56             :       use icepack_parameters, only: secday, spval_const
      57             :       use icepack_parameters, only: c0, c1, c1p5, c2, c3, c4, c5, c6, c8
      58             :       use icepack_parameters, only: c10, c15, c16, c20, c25, c100, c1000
      59             :       use icepack_parameters, only: p001, p01, p1, p2, p4, p5, p6, p05
      60             :       use icepack_parameters, only: p15, p25, p75, p333, p666
      61             : 
      62             :       use icepack_tracers, only: icepack_compute_tracers
      63             :       use icepack_tracers, only: icepack_init_tracer_flags
      64             :       use icepack_tracers, only: icepack_query_tracer_flags
      65             :       use icepack_tracers, only: icepack_write_tracer_flags
      66             :       use icepack_tracers, only: icepack_init_tracer_indices
      67             :       use icepack_tracers, only: icepack_query_tracer_indices
      68             :       use icepack_tracers, only: icepack_write_tracer_indices
      69             :       use icepack_tracers, only: icepack_init_tracer_sizes
      70             :       use icepack_tracers, only: icepack_query_tracer_sizes
      71             :       use icepack_tracers, only: icepack_write_tracer_sizes
      72             : 
      73             :       use icepack_itd, only: icepack_init_itd
      74             :       use icepack_itd, only: icepack_init_itd_hist
      75             :       use icepack_itd, only: icepack_aggregate
      76             : 
      77             :       use icepack_fsd, only: icepack_init_fsd_bounds
      78             :       use icepack_fsd, only: icepack_init_fsd
      79             :       use icepack_fsd, only: icepack_cleanup_fsd
      80             : 
      81             :       use icepack_mechred, only: icepack_step_ridge
      82             :       use icepack_mechred, only: icepack_ice_strength
      83             : 
      84             :       use icepack_wavefracspec, only: icepack_init_wave
      85             :       use icepack_wavefracspec, only: icepack_step_wavefracture
      86             : 
      87             :       use icepack_snow, only: icepack_init_snow
      88             :       use icepack_snow, only: icepack_step_snow
      89             : 
      90             :       use icepack_shortwave, only: icepack_init_radiation
      91             :       use icepack_shortwave, only: icepack_prep_radiation
      92             :       use icepack_shortwave, only: icepack_step_radiation
      93             : 
      94             :       use icepack_brine, only: icepack_init_hbrine
      95             :       use icepack_brine, only: icepack_init_zsalinity    ! deprecated
      96             : 
      97             :       use icepack_zbgc , only: icepack_init_bgc
      98             :       use icepack_zbgc , only: icepack_init_zbgc
      99             :       use icepack_zbgc , only: icepack_biogeochemistry
     100             :       use icepack_zbgc , only: icepack_init_ocean_bio
     101             :       use icepack_zbgc , only: icepack_load_ocean_bio_array
     102             : 
     103             :       use icepack_atmo , only: icepack_atm_boundary
     104             :       use icepack_ocean, only: icepack_ocn_mixed_layer
     105             : 
     106             :       use icepack_orbital       , only: icepack_init_orbit
     107             :       use icepack_orbital       , only: icepack_query_orbit
     108             : 
     109             :       use icepack_therm_vertical, only: icepack_step_therm1
     110             :       use icepack_therm_itd     , only: icepack_step_therm2
     111             :       use icepack_therm_shared  , only: icepack_ice_temperature
     112             :       use icepack_therm_shared  , only: icepack_snow_temperature
     113             :       use icepack_therm_shared  , only: icepack_liquidus_temperature
     114             :       use icepack_therm_shared  , only: icepack_sea_freezing_temperature
     115             :       use icepack_therm_shared  , only: icepack_init_thermo
     116             :       use icepack_therm_shared  , only: icepack_salinity_profile
     117             :       use icepack_therm_shared  , only: icepack_init_trcr
     118             : 
     119             :       use icepack_mushy_physics , only: icepack_enthalpy_snow
     120             :       use icepack_mushy_physics , only: icepack_enthalpy_mush
     121             :       use icepack_mushy_physics , only: icepack_mushy_density_brine
     122             :       use icepack_mushy_physics , only: icepack_mushy_liquid_fraction
     123             :       use icepack_mushy_physics , only: icepack_mushy_temperature_mush
     124             : 
     125             :       use icepack_warnings, only: icepack_warnings_clear
     126             :       use icepack_warnings, only: icepack_warnings_print
     127             :       use icepack_warnings, only: icepack_warnings_flush
     128             :       use icepack_warnings, only: icepack_warnings_aborted
     129             :       use icepack_warnings, only: icepack_warnings_getall
     130             : 
     131             : !autodocument_end icepack_intfc.F90
     132             : 
     133             :       implicit none
     134             : 
     135             :       public
     136             : 
     137             :       public :: icepack_configure
     138             : 
     139             : !=======================================================================
     140             :       contains
     141             : !=======================================================================
     142             : 
     143             :       ! This subroutine should be called before any part of columnphysics
     144             :       ! is used.
     145             : 
     146          37 :       subroutine icepack_configure()
     147             : 
     148             :       use icepack_warnings, only: warnstr, icepack_warnings_add
     149             :       use icepack_warnings, only: icepack_warnings_setabort, icepack_warnings_aborted
     150             : 
     151             :       character(len=*),parameter :: subname='(icepack_configure)'
     152             : 
     153          37 :         call icepack_warnings_setabort(.false.,__FILE__,__LINE__)
     154          37 :         call icepack_recompute_constants()
     155          37 :         if (icepack_warnings_aborted(subname)) return
     156             : 
     157             :       end subroutine icepack_configure
     158             : 
     159             : !=======================================================================
     160             : 
     161             :       end module icepack_intfc
     162             : 
     163             : !=======================================================================

Generated by: LCOV version 1.14-6-g40580cd