From 3fc23e737ab5edbf986ca8b760338c236de20057 Mon Sep 17 00:00:00 2001 From: Julia Putko Date: Tue, 22 Jun 2021 12:03:25 -0700 Subject: [PATCH 1/5] specified vars from stim in use:, excluded some vars from fm%register --- src/gotm/register_all_variables.F90 | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gotm/register_all_variables.F90 b/src/gotm/register_all_variables.F90 index 43da2f86..c320db84 100644 --- a/src/gotm/register_all_variables.F90 +++ b/src/gotm/register_all_variables.F90 @@ -189,8 +189,15 @@ subroutine register_stim_variables(nlev) use stim_variables, only: Tice_surface,Tice,Tf use stim_variables, only: Hice, Hfrazil, dHis, dHib use stim_variables, only: surface_ice_energy,bottom_ice_energy - !use stim_variables, only: ocean_ice_flux - use stim_variables!, only: nilay, sfall_method,const_sfall, dfact , depmix, sice_method, snow_dist, const_Sice, distr_type, meltpond, Ameltmax, drainrate, hh0, ice_hi_i, ice_hs_i, albice_method, albice_f, albmelt, albsnow_f, albice_m, albsnow_m, transsf, transsm, transif, transim, transm, swkappasm, swkappasf, swkappaim, swkappaif + use stim_variables, only: ocean_ice_flux + use stim_variables, only: hsmin, PenFrac, hlaymin + use stim_variables, only: rhoscold, rhoswarm,rhowaterfresh, rhoice + use stim_variables, only: Tmelts, Tmelti, Condfi, rhoCpfi, rCpmix, Hfi, Hfw, swkappa, Tfreezi + use stim_variables, only: const_sfall, dfact, depmix, const_Sice, Ameltmax + use stim_variables, only: drainrate, hh0,ice_hi_i, ice_hs_i + use stim_variables, only: albice_f, albmelt, albsnow_f, albice_m, albsnow_m + use stim_variables, only: transsf, transsm, transif, transim, transm + use stim_variables, only: swkappasm, swkappasf, swkappaim, swkappaif IMPLICIT NONE ! @@ -228,16 +235,16 @@ subroutine register_stim_variables(nlev) !call fm%register('rCpmix', '', 'rCpmix', standard_name='', data0d=rCpmix, category='ice') !call fm%register('Hfi', '', 'Hfi', standard_name='', data0d=Hfi, category='ice') call fm%register('hsmin', 'm', 'minimum snow thickness required for separate snow layer', standard_name='', data0d=hsmin, category='ice') - call fm%register('theta ', '', 'a parameter between 0.5 and 1. which determines how implicit the scheme is', standard_name='', data0d=theta, category='ice') - call fm%register('sigma ', 'W m-2 K-4)', 'Stefan-Boltzmann constant', standard_name='', data0d=sigma, category='ice') - call fm%register('epsilon', 'dimensionless', 'emissivity of ice', standard_name='', data0d=epsilon, category='ice') + !call fm%register('theta ', '', 'a parameter between 0.5 and 1. which determines how implicit the scheme is', standard_name='', data0d=theta, category='ice') + !call fm%register('sigma ', 'W m-2 K-4)', 'Stefan-Boltzmann constant', standard_name='', data0d=sigma, category='ice') + !call fm%register('epsilon', 'dimensionless', 'emissivity of ice', standard_name='', data0d=epsilon, category='ice') call fm%register('PenFrac', '', 'fraction of incoming short wave radiation that penetrates the surface', standard_name='', data0d=PenFrac, category='ice') call fm%register('hlaymin', 'm', 'thickness below which a linear temperature profile is assumed', standard_name='', data0d=hlaymin, category='ice') call fm%register('rhoscold', 'kg m-3', 'specified cold snow density', standard_name='', data0d=rhoscold, category='ice') call fm%register('rhoswarm', 'kg m-3', 'specified warm snow density', standard_name='', data0d=rhoswarm, category='ice') call fm%register('rhowaterfresh', 'kg m-3', 'fresh water density', standard_name='', data0d=rhowaterfresh, category='ice') call fm%register('rhoice', 'kg m-3', 'ice density', standard_name='', data0d=rhoice, category='ice') - call fm%register('kelvin', 'K', 'zero deg Celsius', standard_name='', data0d=kelvin, category='ice') + !call fm%register('kelvin', 'K', 'zero deg Celsius', standard_name='', data0d=kelvin, category='ice') call fm%register('Tmelts', 'K', 'melting temperature of snow (fresh water)', standard_name='', data0d=Tmelts, category='ice') call fm%register('Tmelti', 'K', 'melting temperature of sea ice', standard_name='', data0d=Tmelti, category='ice') call fm%register('Condfi', 'W m-1 K-1', 'conductivity of pure ice', standard_name='', data0d=Condfi, category='ice') From 057c0b935cab380e33b8b1c9268ac1a2bd2da256 Mon Sep 17 00:00:00 2001 From: Julia Putko Date: Mon, 28 Jun 2021 15:31:33 -0700 Subject: [PATCH 2/5] made var in airsea public for use in ice, passing values in calls to subroutines in gotm, initializing the runwintonflato var added in the yaml --- extern/stim | 2 +- src/airsea/airsea.F90 | 3 ++- src/gotm/gotm.F90 | 11 ++++++++--- src/gotm/register_all_variables.F90 | 4 ++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/extern/stim b/extern/stim index 6f9aee45..c0f5abf7 160000 --- a/extern/stim +++ b/extern/stim @@ -1 +1 @@ -Subproject commit 6f9aee45cb37837dced711c51e8d5e7119cc8518 +Subproject commit c0f5abf722fd6ae4e342faec8398ee6cf0dd2cd9 diff --git a/src/airsea/airsea.F90 b/src/airsea/airsea.F90 index 45b30547..67085686 100644 --- a/src/airsea/airsea.F90 +++ b/src/airsea/airsea.F90 @@ -64,6 +64,7 @@ module airsea_driver ! ! Meteorological forcing variables integer, public :: hum_method + integer, public :: back_radiation_method character(len=PATH_MAX) :: meteo_file type (type_scalar_input), public, target :: u10,v10 type (type_scalar_input), public, target :: airp,airt @@ -262,7 +263,7 @@ subroutine init_airsea_nml(namlst, fn) REALTYPE :: const_tx,const_ty REALTYPE :: const_precip REALTYPE :: precip_factor - integer :: back_radiation_method + !integer :: back_radiation_method jp--> to be used in ice must be declared as public outside of this subroutine. integer :: heat_method namelist /airsea/ calc_fluxes, & diff --git a/src/gotm/gotm.F90 b/src/gotm/gotm.F90 index 5c99e9f7..2d05ed61 100644 --- a/src/gotm/gotm.F90 +++ b/src/gotm/gotm.F90 @@ -52,9 +52,10 @@ module gotm use airsea_driver, only: surface_fluxes use airsea_driver, only: set_sst,set_ssuv,integrated_fluxes use airsea_driver, only: fluxes_method - use airsea_driver, only: wind=>w,tx,ty,I_0,cloud,heat,precip,evap,airp,albedo + use airsea_driver, only: wind=>w,tx,ty,hum,I_0,cloud,heat,precip,evap,airp,albedo use airsea_driver, only: bio_albedo,bio_drag_scale - use airsea_driver, only: u10, v10 + use airsea_driver, only: u10,v10,airt,sst,sss + use airsea_driver, only: back_radiation_method,hum_method,fluxes_method use airsea_variables, only: qa,ta #ifdef _ICE_ @@ -743,7 +744,11 @@ subroutine integrate_gotm() #ifdef _ICE_ Qsw = I_0%value - call do_ice(h(nlev),dt,T(nlev),S(nlev),ta,precip%value,Qsw,surface_fluxes) + call do_ice(h(nlev),dt,T(nlev),S(nlev),ta,precip%value,Qsw, & + surface_fluxes,julianday,secondsofday,longitude, & + latitude,I_0%value,airt%value,airp%value,hum%value, & + u10%value,v10%value,cloud%value,sst,sss%value,rho(nlev),rho_0,back_radiation_method, & + hum_method,fluxes_method,albedo,heat%value) #endif ! reset some quantities diff --git a/src/gotm/register_all_variables.F90 b/src/gotm/register_all_variables.F90 index c320db84..8ed31244 100644 --- a/src/gotm/register_all_variables.F90 +++ b/src/gotm/register_all_variables.F90 @@ -256,8 +256,8 @@ subroutine register_stim_variables(nlev) call fm%register('Tfreezi', 'K', 'freezing temperature of sea water', standard_name='', data0d=Tfreezi , category='ice') !call fm%register('nlmax', '', 'Maximum snow and ice layers',category='ice') ! yaml variables - !call fm%register('nilay', '', 'number of ice layers', category='ice') - !call fm%register('sfall_method', '', '1:constant snow fall 2:calculate snowfall from precipitation', category='ice') + !call fm%register('nilay', '', 'number of ice layers', category='ice') ! com + !call fm%register('sfall_method', '', '1:constant snow fall 2:calculate snowfall from precipitation', category='ice') call fm%register('const_sfall ', 'm d^-1', 'constant snow fall rate', standard_name='', data0d=const_sfall , category='ice') call fm%register('dfact ', '', 'drift factor allowing a factor to increase snow fall from precipitation via drifing snow', standard_name='', data0d=dfact , category='ice') call fm%register('depmix ', '', 'prescribed mixed layer depth', standard_name='', data0d=depmix , category='ice') From 2131e5a1d6c2765659054b94f0cfc80ff12a9cba Mon Sep 17 00:00:00 2001 From: Julia Putko Date: Mon, 28 Jun 2021 16:46:06 -0700 Subject: [PATCH 3/5] adding stim --- extern/stim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/stim b/extern/stim index c0f5abf7..0d58e2d4 160000 --- a/extern/stim +++ b/extern/stim @@ -1 +1 @@ -Subproject commit c0f5abf722fd6ae4e342faec8398ee6cf0dd2cd9 +Subproject commit 0d58e2d472f359423ff172412edfc40f722a66c3 From 988c9e26ad52e1ace48d6d1f1902504d713e2f4f Mon Sep 17 00:00:00 2001 From: Julia Putko Date: Tue, 29 Jun 2021 15:31:25 -0700 Subject: [PATCH 4/5] adding stim --- extern/stim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/stim b/extern/stim index 0d58e2d4..3ba6332f 160000 --- a/extern/stim +++ b/extern/stim @@ -1 +1 @@ -Subproject commit 0d58e2d472f359423ff172412edfc40f722a66c3 +Subproject commit 3ba6332f58665a0d1f38840a785cd38ddde08ca7 From af7a59e4ea7aab952cf702eedc1f613e8e6e9129 Mon Sep 17 00:00:00 2001 From: Julia Putko Date: Tue, 29 Jun 2021 16:53:59 -0700 Subject: [PATCH 5/5] adding stim --- extern/stim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/stim b/extern/stim index 3ba6332f..dc876554 160000 --- a/extern/stim +++ b/extern/stim @@ -1 +1 @@ -Subproject commit 3ba6332f58665a0d1f38840a785cd38ddde08ca7 +Subproject commit dc876554d499f98063fba6b7302c3f8492e0a7be