Skip to content

Commit 4e49481

Browse files
Merge pull request #1 from juliaputko/uvic_ice_jp
Uvic ice jp
2 parents 30c3a08 + d0aae13 commit 4e49481

File tree

2 files changed

+68
-2
lines changed

2 files changed

+68
-2
lines changed

src/gotm/register_all_variables.F90

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,9 @@ subroutine register_stim_variables(nlev)
189189
use stim_variables, only: Tice_surface,Tice,Tf
190190
use stim_variables, only: Hice, Hfrazil, dHis, dHib
191191
use stim_variables, only: surface_ice_energy,bottom_ice_energy
192-
use stim_variables, only: ocean_ice_flux
192+
!use stim_variables, only: ocean_ice_flux
193+
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
194+
193195
IMPLICIT NONE
194196
!
195197
! !INPUT PARAMETERS:
@@ -206,6 +208,10 @@ subroutine register_stim_variables(nlev)
206208
call fm%register('T1', 'celsius', 'ice temperature (upper)', standard_name='', data0d=Tice(1), category='ice')
207209
call fm%register('T2', 'celsius', 'ice temperature (lower)', standard_name='', data0d=Tice(2), category='ice')
208210
end if
211+
if (ice_model .eq. 4) then
212+
call fm%register('T1', 'celsius', 'ice temperature (upper)', standard_name='', data0d=Tice(1), category='ice')
213+
call fm%register('T2', 'celsius', 'ice temperature (lower)', standard_name='', data0d=Tice(2), category='ice')
214+
end if
209215
call fm%register('Tf', 'celsius', 'ice freezing temperature', standard_name='', data0d=Tf, category='ice')
210216
call fm%register('Hice', 'm', 'ice thickness', standard_name='', data0d=Hice, category='ice')
211217
call fm%register('surface_ice_energy', 'J/m2', 'ice energy (surface)', standard_name='', data0d=surface_ice_energy, category='ice')
@@ -214,6 +220,66 @@ subroutine register_stim_variables(nlev)
214220
call fm%register('Hfrazil', 'm', 'ice thickness (frazil)', standard_name='', data0d=Hfrazil, category='ice')
215221
call fm%register('dHis', 'm', 'ice growth (surface)', standard_name='', data0d=dHis, category='ice')
216222
call fm%register('dHib', 'm', 'ice growth (bottom)', standard_name='', data0d=dHib, category='ice')
223+
!Flato
224+
! public vars
225+
!call fm%register('hlaymin', '', 'hlaymin', standard_name='', data0d=hlaymin, category='ice')
226+
!call fm%register('rhoice', '', 'rhoice', standard_name='', data0d=rhoice, category='ice')
227+
!call fm%register('Tfreezi', '', 'Tfreezi', standard_name='', data0d=Tfreezi, category='ice')
228+
!call fm%register('rCpmix', '', 'rCpmix', standard_name='', data0d=rCpmix, category='ice')
229+
!call fm%register('Hfi', '', 'Hfi', standard_name='', data0d=Hfi, category='ice')
230+
call fm%register('hsmin', 'm', 'minimum snow thickness required for separate snow layer', standard_name='', data0d=hsmin, category='ice')
231+
call fm%register('theta ', '', 'a parameter between 0.5 and 1. which determines how implicit the scheme is', standard_name='', data0d=theta, category='ice')
232+
call fm%register('sigma ', 'W m-2 K-4)', 'Stefan-Boltzmann constant', standard_name='', data0d=sigma, category='ice')
233+
call fm%register('epsilon', 'dimensionless', 'emissivity of ice', standard_name='', data0d=epsilon, category='ice')
234+
call fm%register('PenFrac', '', 'fraction of incoming short wave radiation that penetrates the surface', standard_name='', data0d=PenFrac, category='ice')
235+
call fm%register('hlaymin', 'm', 'thickness below which a linear temperature profile is assumed', standard_name='', data0d=hlaymin, category='ice')
236+
call fm%register('rhoscold', 'kg m-3', 'specified cold snow density', standard_name='', data0d=rhoscold, category='ice')
237+
call fm%register('rhoswarm', 'kg m-3', 'specified warm snow density', standard_name='', data0d=rhoswarm, category='ice')
238+
call fm%register('rhowaterfresh', 'kg m-3', 'fresh water density', standard_name='', data0d=rhowaterfresh, category='ice')
239+
call fm%register('rhoice', 'kg m-3', 'ice density', standard_name='', data0d=rhoice, category='ice')
240+
call fm%register('kelvin', 'K', 'zero deg Celsius', standard_name='', data0d=kelvin, category='ice')
241+
call fm%register('Tmelts', 'K', 'melting temperature of snow (fresh water)', standard_name='', data0d=Tmelts, category='ice')
242+
call fm%register('Tmelti', 'K', 'melting temperature of sea ice', standard_name='', data0d=Tmelti, category='ice')
243+
call fm%register('Condfi', 'W m-1 K-1', 'conductivity of pure ice', standard_name='', data0d=Condfi, category='ice')
244+
call fm%register('rhoCpfi', 'J m-3 K-1', 'heat capacity of pure ice', standard_name='', data0d=rhoCpfi, category='ice')
245+
call fm%register('rCpmix', 'J m-3 K-1', 'volumetric heat capacity of sea water ', standard_name='', data0d=rCpmix, category='ice')
246+
call fm%register('Hfi', 'J kg-1', 'latent heat of fusion of sea ice ', standard_name='', data0d=Hfi , category='ice')
247+
call fm%register('Hfw', 'J kg-1', 'latent heat of fusion of fresh water', standard_name='', data0d=Hfw, category='ice')
248+
call fm%register('swkappa', 'm-1', 'bulk short-wave extinction coefficient', standard_name='', data0d=swkappa , category='ice')
249+
call fm%register('Tfreezi', 'K', 'freezing temperature of sea water', standard_name='', data0d=Tfreezi , category='ice')
250+
!call fm%register('nlmax', '', 'Maximum snow and ice layers',category='ice')
251+
! yaml variables
252+
!call fm%register('nilay', '', 'number of ice layers', category='ice')
253+
!call fm%register('sfall_method', '', '1:constant snow fall 2:calculate snowfall from precipitation', category='ice')
254+
call fm%register('const_sfall ', 'm d^-1', 'constant snow fall rate', standard_name='', data0d=const_sfall , category='ice')
255+
call fm%register('dfact ', '', 'drift factor allowing a factor to increase snow fall from precipitation via drifing snow', standard_name='', data0d=dfact , category='ice')
256+
call fm%register('depmix ', '', 'prescribed mixed layer depth', standard_name='', data0d=depmix , category='ice')
257+
! call fm%register('sice_method ', '', ' 1: constant ice salinity 2: Simple ice salinity profile', category='ice')
258+
call fm%register('const_Sice', 'ppt','prescribed sea ice salinity', standard_name='', data0d=const_Sice, category='ice')
259+
! call fm%register('snow_dist ', '', 'logical switch between uniform and Weibull-distributed snow', category='ice')
260+
!call fm%register('distr_type', '', 'integer to chose the type of distribution', category='ice')
261+
!call fm%register('meltpond', '', 'If true meltponds are included If false only bare ice is included', category='ice')
262+
call fm%register('Ameltmax ', '', 'Maximum meltpond area fraction allowed', standard_name='', data0d= Ameltmax , category='ice')
263+
call fm%register('drainrate', 'm/d', 'Melt pond drainage rate in ', standard_name='', data0d=drainrate, category='ice')
264+
call fm%register('hh0', '', 'initial thickness for S calculation', standard_name='', data0d=hh0, category='ice')
265+
call fm%register('ice_hi_i ', '', 'initial ice thickness', standard_name='', data0d=ice_hi_i , category='ice')
266+
call fm%register('ice_hs_i ', '', ' initial snow thickness', standard_name='', data0d=ice_hs_i , category='ice')
267+
!call fm%register('albice_method ', '', 'albice method', category='ice')
268+
call fm%register('albice_f', '', 'ice thickness frazil', standard_name='', data0d= albice_f, category='ice')
269+
call fm%register('albmelt', '', 'ice thickness frazil', standard_name='', data0d=albmelt, category='ice')
270+
call fm%register('albsnow_f', '', 'ice thickness frazil', standard_name='', data0d=albsnow_f , category='ice')
271+
call fm%register('albice_m ', '', 'melting ice albedo', standard_name='', data0d=albice_m , category='ice')
272+
call fm%register('albsnow_m', '', 'melting snow albedo', standard_name='', data0d= albsnow_m, category='ice')
273+
call fm%register('transsf', '', 'freezing snow transmission coefficient', standard_name='', data0d=transsf, category='ice')
274+
call fm%register('transsm ', '', 'melting snow transmission coefficient', standard_name='', data0d=transsm, category='ice')
275+
call fm%register('transif ', '', 'freezing ice transmission coefficient', standard_name='', data0d=transif, category='ice')
276+
call fm%register('transim ', '', 'melting ice transmission coefficient', standard_name='', data0d=transim, category='ice')
277+
call fm%register('transm', '', 'melt pond transmision coefficient', standard_name='', data0d=transm, category='ice')
278+
call fm%register('swkappasm', '', 'melting snow extinction coefficient', standard_name='', data0d=swkappasm, category='ice')
279+
call fm%register('swkappasf ', '', 'freezing snow extinction coefficient', standard_name='', data0d=swkappasf, category='ice')
280+
call fm%register('swkappaim ', '', 'melting ice extinction coefficient', standard_name='', data0d=swkappaim, category='ice')
281+
call fm%register('swkappaif', '', 'freezing ice extinction coefficient', standard_name='', data0d=swkappaif, category='ice')
282+
!
217283

218284
return
219285
end subroutine register_stim_variables

0 commit comments

Comments
 (0)