From ec878cb1a6aba112f707539d41c88314ac5ad5e6 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Fri, 27 Sep 2024 19:54:04 +0200 Subject: [PATCH] add module for icb_thermo and icb_coupling --- src/fesom_module.F90 | 1 + src/icb_coupling.F90 | 15 +++++++++++++++ src/icb_elem.F90 | 2 ++ src/icb_step.F90 | 2 ++ src/icb_thermo.F90 | 21 +++++++++++++++++++++ src/ice_oce_coupling.F90 | 1 + 6 files changed, 42 insertions(+) diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index 1fb782a0f..dffef9186 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -36,6 +36,7 @@ module fesom_main_storage_module use age_tracer_init_interface use iceberg_params use iceberg_step + use iceberg_ocean_coupling ! Define icepack module #if defined (__icepack) diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index 51671c8d1..35b29ab9f 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -1,3 +1,17 @@ +module iceberg_ocean_coupling + USE MOD_MESH + use MOD_PARTIT + use MOD_ICE + USE MOD_DYN + use iceberg_params + + public :: reset_ib_fluxes + public :: prepare_icb2fesom + public :: icb2fesom + + contains + + subroutine reset_ib_fluxes() use o_param @@ -190,3 +204,4 @@ subroutine icb2fesom(mesh, partit, ice) end if !---wiso-code-end end subroutine icb2fesom +end module diff --git a/src/icb_elem.F90 b/src/icb_elem.F90 index c79f2365b..e5de4e046 100644 --- a/src/icb_elem.F90 +++ b/src/icb_elem.F90 @@ -3,6 +3,8 @@ module iceberg_element USE MOD_MESH USE MOD_DYN use iceberg_params + use iceberg_thermodynamics + use iceberg_ocean_coupling ! use iceberg_dynamics ! use iceberg_step diff --git a/src/icb_step.F90 b/src/icb_step.F90 index 3517817ba..17ae8b31c 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -6,6 +6,8 @@ module iceberg_step use iceberg_params use iceberg_dynamics use iceberg_element + use iceberg_thermodynamics + use iceberg_ocean_coupling implicit none diff --git a/src/icb_thermo.F90 b/src/icb_thermo.F90 index 7b9b38afe..6aec637e5 100644 --- a/src/icb_thermo.F90 +++ b/src/icb_thermo.F90 @@ -1,3 +1,23 @@ +module iceberg_thermodynamics + USE MOD_MESH + use MOD_PARTIT + use MOD_ICE + USE MOD_DYN + use iceberg_params + !use iceberg_element + !use iceberg_step + use iceberg_ocean_coupling + + implicit none + + public :: iceberg_meltrates + public :: iceberg_newdimensions + public :: iceberg_heat_water_fluxes_3eq + public :: potit_ib + public :: fcn_density + + contains + !!============================================================================= ! calculates the empirical melt rates of the iceberg as in ! Martin: 'Parameterizing the fresh-water flux from land ice to ocean @@ -596,3 +616,4 @@ subroutine fcn_density(t,s,z,rho) + 4.8314e-4*s**2) rho = rhopot / (1.0 + 0.1*z/bulk) end subroutine fcn_density +end module diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 270118675..55a259930 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -265,6 +265,7 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) init_flux_atm_ocn #endif use iceberg_params + use iceberg_ocean_coupling use cavity_interfaces !---fwf-code use g_clock