LCOV - code coverage report
Current view: top level - icepack/columnphysics - icepack_intfc.F90 (source / functions) Coverage Total Hit
Test: 250115-172326:736c1771a8:7:first,quick,base,travis,io,gridsys,unittest Lines: 100.00 % 4 4
Test Date: 2025-01-15 16:42:12 Functions: 100.00 % 1 1

            Line data    Source code
       1              : !=======================================================================
       2              : ! Copyright (c) 2024, Triad National Security, LLC
       3              : ! All rights reserved.
       4              : !
       5              : ! Copyright 2024. 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_salinity
     116              :       use icepack_therm_shared  , only: icepack_salinity_profile
     117              :       use icepack_therm_shared  , only: icepack_init_enthalpy
     118              :       ! for backwards compatibilty, remove in the future
     119              :       use icepack_therm_shared  , only: icepack_init_thermo => icepack_init_salinity
     120              :       use icepack_therm_shared  , only: icepack_init_trcr => icepack_init_enthalpy
     121              : 
     122              :       use icepack_mushy_physics , only: icepack_enthalpy_snow
     123              :       use icepack_mushy_physics , only: icepack_enthalpy_mush
     124              :       use icepack_mushy_physics , only: icepack_mushy_density_brine
     125              :       use icepack_mushy_physics , only: icepack_mushy_liquid_fraction
     126              :       use icepack_mushy_physics , only: icepack_mushy_temperature_mush
     127              : 
     128              :       use icepack_warnings, only: icepack_warnings_clear
     129              :       use icepack_warnings, only: icepack_warnings_print
     130              :       use icepack_warnings, only: icepack_warnings_flush
     131              :       use icepack_warnings, only: icepack_warnings_aborted
     132              :       use icepack_warnings, only: icepack_warnings_getall
     133              : 
     134              : !autodocument_end icepack_intfc.F90
     135              : 
     136              :       implicit none
     137              : 
     138              :       public
     139              : 
     140              :       public :: icepack_configure
     141              : 
     142              : !=======================================================================
     143              :       contains
     144              : !=======================================================================
     145              : 
     146              :       ! This subroutine should be called before any part of columnphysics
     147              :       ! is used.
     148              : 
     149         4222 :       subroutine icepack_configure()
     150              : 
     151              :       use icepack_warnings, only: warnstr, icepack_warnings_add
     152              :       use icepack_warnings, only: icepack_warnings_setabort, icepack_warnings_aborted
     153              : 
     154              :       character(len=*),parameter :: subname='(icepack_configure)'
     155              : 
     156         4222 :         call icepack_warnings_setabort(.false.,__FILE__,__LINE__)
     157         4222 :         call icepack_recompute_constants()
     158         4222 :         if (icepack_warnings_aborted(subname)) return
     159              : 
     160              :       end subroutine icepack_configure
     161              : 
     162              : !=======================================================================
     163              : 
     164              :       end module icepack_intfc
     165              : 
     166              : !=======================================================================
        

Generated by: LCOV version 2.0-1