Go to the documentation of this file.
155 logical,
private :: ocean_vars_checkrange = .false.
156 logical,
private :: ocean_restart_in_check_coordinates = .true.
159 integer,
private,
parameter :: vmax = 17
160 integer,
private,
parameter :: i_temp = 1
161 integer,
private,
parameter :: i_salt = 2
162 integer,
private,
parameter :: i_uvel = 3
163 integer,
private,
parameter :: i_vvel = 4
164 integer,
private,
parameter :: i_ocn_z0m = 5
165 integer,
private,
parameter :: i_sfc_temp = 6
166 integer,
private,
parameter :: i_sfc_alb_ir_dir = 7
167 integer,
private,
parameter :: i_sfc_alb_ir_dif = 8
168 integer,
private,
parameter :: i_sfc_alb_nir_dir = 9
169 integer,
private,
parameter :: i_sfc_alb_nir_dif = 10
170 integer,
private,
parameter :: i_sfc_alb_vis_dir = 11
171 integer,
private,
parameter :: i_sfc_alb_vis_dif = 12
172 integer,
private,
parameter :: i_sfc_z0m = 13
173 integer,
private,
parameter :: i_sfc_z0h = 14
174 integer,
private,
parameter :: i_sfc_z0e = 15
175 integer,
private,
parameter :: i_ice_temp = 16
176 integer,
private,
parameter :: i_ice_mass = 17
178 character(len=H_SHORT),
private :: var_name(vmax)
179 character(len=H_MID),
private :: var_desc(vmax)
180 character(len=H_MID),
private :: var_stdn(vmax)
181 character(len=H_SHORT),
private :: var_unit(vmax)
182 integer,
private :: var_id(vmax)
183 integer,
private :: restart_fid = -1
185 data var_name /
'OCEAN_TEMP', &
191 'OCEAN_SFC_ALB_IR_dir', &
192 'OCEAN_SFC_ALB_IR_dif', &
193 'OCEAN_SFC_ALB_NIR_dir', &
194 'OCEAN_SFC_ALB_NIR_dif', &
195 'OCEAN_SFC_ALB_VIS_dir', &
196 'OCEAN_SFC_ALB_VIS_dif', &
203 data var_desc /
'ocean temperature', &
205 'ocean u-velocity', &
206 'ocean v-velocity', &
207 'open ocean roughness length (momentum)', &
208 'ocean surface skin temperature', &
209 'ocean surface albedo for IR (direct)', &
210 'ocean surface albedo for IR (diffuse)', &
211 'ocean surface albedo for NIR (direct)', &
212 'ocean surface albedo for NIR (diffuse)', &
213 'ocean surface albedo for VIS (direct)', &
214 'ocean surface albedo for VIS (diffuse)', &
215 'ocean surface roughness length (momentum)', &
216 'ocean surface roughness length (heat)', &
217 'ocean surface roughness length (vapor)', &
218 'seaice temperature', &
221 data var_stdn /
'sea_water_temperature', &
222 'sea_water_salinity', &
223 'eastward_sea_water_velocity', &
224 'northward_sea_water_velocity', &
226 'sea_surface_skin_temperature', &
239 data var_unit /
'K', &
258 integer,
parameter :: im_o_temp = 1
259 integer,
parameter :: im_i_temp = 2
260 integer,
parameter :: im_i_mass = 3
261 integer,
parameter :: im_sfc = 4
262 integer,
parameter :: im_ssf = 5
263 integer,
parameter :: im_mas_supl = 6
264 integer,
parameter :: im_t_masflx = 7
265 integer,
parameter :: im_o_masflx = 8
266 integer,
parameter :: im_i_masflx = 9
267 integer,
parameter :: im_o_engi = 10
268 integer,
parameter :: im_i_engi = 11
269 integer,
parameter :: im_engsfc_gh = 12
270 integer,
parameter :: im_engsfc_ei = 13
271 integer,
parameter :: im_engssf_gh = 14
272 integer,
parameter :: im_engssf_ei = 15
273 integer,
parameter :: im_eng_supl = 16
274 integer,
parameter :: im_t_engflx = 17
275 integer,
parameter :: im_o_engflx = 18
276 integer,
parameter :: im_i_engflx = 19
277 integer,
parameter :: im_max = 19
278 integer,
private :: monit_id(im_max)
295 namelist / param_ocean_vars / &
299 ocean_restart_in_check_coordinates, &
306 ocean_vars_checkrange
313 log_info(
"OCEAN_vars_setup",*)
'Setup'
316 case (
'NONE',
'OFF' )
503 log_info(
"OCEAN_vars_setup",*)
'Not found namelist. Default used.'
504 elseif( ierr > 0 )
then
505 log_error(
"OCEAN_vars_setup",*)
'Not appropriate names in namelist PARAM_OCEAN_VARS. Check!'
508 log_nml(param_ocean_vars)
511 log_info(
"OCEAN_vars_setup",*)
'List of prognostic variables (OCEAN) '
512 log_info_cont(
'(1x,A,A24,A,A48,A,A12,A)') &
513 ' |',
'VARNAME ',
'|',
'DESCRIPTION ',
'[',
'UNIT ',
']'
515 log_info_cont(
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
516 'NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']'
524 log_info(
"OCEAN_vars_setup",*)
'Restart input? : NO'
531 log_info(
"OCEAN_vars_setup",*)
'Restart output? : NO'
536 call monitor_reg(
'OCN_TEMP',
'sea water temperature',
'K m3', &
537 monit_id(im_o_temp), &
538 dim_type=
'OXY', is_tendency=.false. )
540 call monitor_reg(
'OCN_ICE_TEMP',
'sea ice temperature',
'K m3', &
541 monit_id(im_i_temp), &
542 dim_type=
'XY', is_tendency=.false. )
543 call monitor_reg(
'OCN_ICE_MASS',
'sea ice mass',
'kg', &
544 monit_id(im_i_mass), &
545 dim_type=
'XY', is_tendency=.false. )
547 call monitor_reg(
'OCN_MASFLX_TOP',
'SFC mass flux',
'kg', &
549 dim_type=
'XY', is_tendency=.true. )
550 call monitor_reg(
'OCN_MASFLX_MID',
'sea surface mass flux',
'kg', &
552 dim_type=
'XY', is_tendency=.true. )
553 call monitor_reg(
'OCN_MAS_SUPL',
'mass supply',
'kg', &
554 monit_id(im_mas_supl), &
555 dim_type=
'XY', is_tendency=.true. )
556 call monitor_reg(
'OCN_MASCNV',
'total mass convergence',
'kg', &
557 monit_id(im_t_masflx), &
558 dim_type=
'XY', is_tendency=.true. )
559 call monitor_reg(
'OCN_WTR_MASCNV',
'sea water mass convergence',
'kg', &
560 monit_id(im_o_masflx), &
561 dim_type=
'XY', is_tendency=.true. )
563 call monitor_reg(
'OCN_ICE_MASCNV',
'sea ice mass convergence',
'kg', &
564 monit_id(im_i_masflx), &
565 dim_type=
'XY', is_tendency=.true. )
567 call monitor_reg(
'OCN_WTR_ENGI',
'sea water internal energy',
'J', &
568 monit_id(im_o_engi), &
569 dim_type=
'OXY', is_tendency=.false. )
571 call monitor_reg(
'OCN_ICE_ENGI',
'sea ice internal energy',
'J', &
572 monit_id(im_i_engi), &
573 dim_type=
'XY', is_tendency=.false. )
575 call monitor_reg(
'OCN_GHFLX_TOP',
'SFC ground heat flux',
'J', &
576 monit_id(im_engsfc_gh), &
577 dim_type=
'XY', is_tendency=.true. )
578 call monitor_reg(
'OCN_ENGIFLX_TOP',
'SFC internal energy flux',
'J', &
579 monit_id(im_engsfc_ei), &
580 dim_type=
'XY', is_tendency=.true. )
581 call monitor_reg(
'OCN_GHFLX_MID',
'sea surface ground heat flux',
'J', &
582 monit_id(im_engssf_gh), &
583 dim_type=
'XY', is_tendency=.true. )
584 call monitor_reg(
'OCN_ENGIFLX_MID',
'sea surface internal energy flux',
'J', &
585 monit_id(im_engssf_ei), &
586 dim_type=
'XY', is_tendency=.true. )
587 call monitor_reg(
'OCN_ENGI_SUPL',
'internal energy supply',
'J', &
588 monit_id(im_eng_supl), &
589 dim_type=
'XY', is_tendency=.true. )
590 call monitor_reg(
'OCN_ENGICNV',
'total internal energy convergence',
'J', &
591 monit_id(im_t_engflx), &
592 dim_type=
'XY', is_tendency=.true. )
593 call monitor_reg(
'OCN_WTR_ENGICNV',
'sea water internal energy convergence',
'J', &
594 monit_id(im_o_engflx), &
595 dim_type=
'XY', is_tendency=.true. )
597 call monitor_reg(
'OCN_ICE_ENGICNV',
'sea ice internal energy convergence',
'J', &
598 monit_id(im_i_engflx), &
599 dim_type=
'XY', is_tendency=.true. )
614 log_info(
"OCEAN_vars_finalize",*)
'Finalize'
617 case (
'NONE',
'OFF' )
737 file_cartesc_check_coordinates
742 character(len=19) :: timelabel
743 character(len=H_LONG) :: basename
749 log_info(
"OCEAN_vars_restart_open",*)
'Open restart file (OCEAN) '
759 log_info_cont(*)
'basename: ', trim(basename)
763 if( ocean_restart_in_check_coordinates )
call file_cartesc_check_coordinates( restart_fid )
766 log_info_cont(*)
'restart file for ocean is not specified.'
794 if ( restart_fid /= -1 )
then
796 log_info(
"OCEAN_vars_restart_read",*)
'Read from restart file (OCEAN) '
798 call file_cartesc_read( restart_fid, var_name(i_temp),
'OXY', &
806 call file_cartesc_read( restart_fid, var_name(i_ocn_z0m),
'XY', &
808 call file_cartesc_read( restart_fid, var_name(i_sfc_temp),
'XY', &
810 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dir),
'XY', &
812 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dif),
'XY', &
814 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dir),
'XY', &
816 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dif),
'XY', &
818 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dir),
'XY', &
820 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dif),
'XY', &
822 call file_cartesc_read( restart_fid, var_name(i_sfc_z0m),
'XY', &
824 call file_cartesc_read( restart_fid, var_name(i_sfc_z0h),
'XY', &
826 call file_cartesc_read( restart_fid, var_name(i_sfc_z0e),
'XY', &
829 call file_cartesc_read( restart_fid, var_name(i_ice_temp),
'XY', &
831 call file_cartesc_read( restart_fid, var_name(i_ice_mass),
'XY', &
856 log_error(
"OCEAN_vars_restart_read",*)
'invalid restart file ID for ocean.'
878 var_name(i_temp), var_desc(i_temp), &
879 var_unit(i_temp), standard_name=var_stdn(i_temp), &
895 var_name(i_ocn_z0m), var_desc(i_ocn_z0m), &
896 var_unit(i_ocn_z0m), standard_name=var_stdn(i_ocn_z0m) )
898 var_name(i_sfc_temp), var_desc(i_sfc_temp), &
899 var_unit(i_sfc_temp), standard_name=var_stdn(i_sfc_temp) )
901 var_name(i_sfc_alb_ir_dir), var_desc(i_sfc_alb_ir_dir), &
902 var_unit(i_sfc_alb_ir_dir), standard_name=var_stdn(i_sfc_alb_ir_dir) )
904 var_name(i_sfc_alb_ir_dif), var_desc(i_sfc_alb_ir_dif), &
905 var_unit(i_sfc_alb_ir_dif), standard_name=var_stdn(i_sfc_alb_ir_dif) )
907 var_name(i_sfc_alb_nir_dir), var_desc(i_sfc_alb_nir_dir), &
908 var_unit(i_sfc_alb_nir_dir), standard_name=var_stdn(i_sfc_alb_nir_dir) )
910 var_name(i_sfc_alb_nir_dif), var_desc(i_sfc_alb_nir_dif), &
911 var_unit(i_sfc_alb_nir_dif), standard_name=var_stdn(i_sfc_alb_nir_dif) )
913 var_name(i_sfc_alb_vis_dir), var_desc(i_sfc_alb_vis_dir), &
914 var_unit(i_sfc_alb_vis_dir), standard_name=var_stdn(i_sfc_alb_vis_dir) )
916 var_name(i_sfc_alb_vis_dif), var_desc(i_sfc_alb_vis_dif), &
917 var_unit(i_sfc_alb_vis_dif), standard_name=var_stdn(i_sfc_alb_vis_dif) )
919 var_name(i_sfc_z0m), var_desc(i_sfc_z0m), &
920 var_unit(i_sfc_z0m), standard_name=var_stdn(i_sfc_z0m) )
922 var_name(i_sfc_z0h), var_desc(i_sfc_z0h), &
923 var_unit(i_sfc_z0h), standard_name=var_stdn(i_sfc_z0h) )
925 var_name(i_sfc_z0e), var_desc(i_sfc_z0e), &
926 var_unit(i_sfc_z0e), standard_name=var_stdn(i_sfc_z0h) )
930 var_name(i_ice_temp), var_desc(i_ice_temp), &
931 var_unit(i_ice_temp), standard_name=var_stdn(i_ice_temp) )
933 var_name(i_ice_mass), var_desc(i_ice_mass), &
934 var_unit(i_ice_mass), standard_name=var_stdn(i_ice_mass) )
938 'ocean subsurface heat flux (downward)',
'J/m2/s' )
940 'ocean surface liquid water flux (downward)',
'kg/m2/s' )
942 'ocean surface internal energy flux (downward)',
'J/m2/s' )
945 'ocean surface w-momentum flux (upward)',
'kg/m2/s' )
947 'ocean surface u-momentum flux (upward)',
'kg/m2/s' )
949 'ocean surface v-momentum flux (upward)',
'kg/m2/s' )
951 'ocean surface sensible heat flux (upward)',
'J/m2/s' )
953 'ocean surface latent heat flux (upward)',
'J/m2/s' )
956 'ocean surface water vapor flux (upward)',
'kg/m2/s' )
957 call file_history_in(
ocean_u10(:,:),
'OCEAN_U10', &
958 'ocean 10m x-wind',
'm/s' )
959 call file_history_in(
ocean_v10(:,:),
'OCEAN_V10', &
960 'ocean 10m y-wind',
'm/s' )
961 call file_history_in(
ocean_t2(:,:),
'OCEAN_T2', &
962 'ocean 2m temperature',
'K' )
963 call file_history_in(
ocean_q2(:,:),
'OCEAN_Q2', &
964 'ocean 2m specific humidity',
'kg/kg' )
965 call file_history_in(
ocean_ustar(:,:),
'OCEAN_Ustar', &
966 'ocean friction velocity',
'm/s' )
967 call file_history_in(
ocean_tstar(:,:),
'OCEAN_Tstar', &
968 'ocean temperature scale',
'K' )
969 call file_history_in(
ocean_qstar(:,:),
'OCEAN_Qstar', &
970 'ocean moisture scale',
'kg/kg' )
971 call file_history_in(
ocean_wstar(:,:),
'OCEAN_Wstar', &
972 'ocean convective velocity scale',
'm/s' )
973 call file_history_in(
ocean_rlmo(:,:),
'OCEAN_RLmo', &
974 'ocean inversed Obukhov length',
'1/m' )
977 call file_history_in(
ocean_ocn_ustar(:,:),
'OCEAN_OCN_Ustar',
'friction velocity on open ocean surface',
'm/s' )
978 call file_history_in(
ocean_ocn_tstar(:,:),
'OCEAN_OCN_Tstar',
'temperature scale on open ocean surface',
'K' )
979 call file_history_in(
ocean_ocn_qstar(:,:),
'OCEAN_OCN_Qstar',
'moisture scale on open ocean surface',
'kg/kg' )
980 call file_history_in(
ocean_ocn_wstar(:,:),
'OCEAN_OCN_Wstar',
'convective velocity scale on open ocean surface',
'm/s' )
981 call file_history_in(
ocean_ocn_rlmo(:,:),
'OCEAN_OCN_RLmo',
'inversed Obukhov length on open ocean surface',
'1/m' )
982 call file_history_in(
ocean_ice_ustar(:,:),
'OCEAN_ICE_Ustar',
'friction velocity on sea ice surface',
'm/s' )
983 call file_history_in(
ocean_ice_tstar(:,:),
'OCEAN_ICE_Tstar',
'temperature scale on sea ice surface',
'K', dim_type=
'XY' )
984 call file_history_in(
ocean_ice_qstar(:,:),
'OCEAN_ICE_Qstar',
'moisture scale on sea ice surface',
'kg/kg' )
985 call file_history_in(
ocean_ice_wstar(:,:),
'OCEAN_ICE_Wstar',
'convective velocity scale on sea ice surface',
'm/s' )
986 call file_history_in(
ocean_ice_rlmo(:,:),
'OCEAN_ICE_RLmo',
'inversed Obukhov length on sea ice surface',
'1/m' )
988 call file_history_in(
ocean_ice_frac(:,:),
'OCEAN_ICE_FRAC',
'seaice fraction',
'1' )
1012 logical,
intent(in),
optional :: force
1016 if (
present(force) )
then
1019 check = ocean_vars_checkrange
1025 var_name(i_temp), __file__, __line__, &
1042 var_name(i_ocn_z0m), __file__, __line__, &
1046 var_name(i_sfc_temp), __file__, __line__, &
1050 var_name(i_sfc_alb_ir_dir ), __file__, __line__, &
1054 var_name(i_sfc_alb_ir_dif ), __file__, __line__, &
1058 var_name(i_sfc_alb_nir_dir), __file__, __line__, &
1062 var_name(i_sfc_alb_nir_dif), __file__, __line__, &
1066 var_name(i_sfc_alb_vis_dir), __file__, __line__, &
1070 var_name(i_sfc_alb_vis_dif), __file__, __line__, &
1074 var_name(i_sfc_z0m), __file__, __line__, &
1078 var_name(i_sfc_z0h), __file__, __line__, &
1082 var_name(i_sfc_z0e), __file__, __line__, &
1087 var_name(i_ice_temp), __file__, __line__, &
1091 var_name(i_ice_mass), __file__, __line__, &
1097 if (
present(force) )
then
1204 call monitor_put( monit_id(im_o_temp),
ocean_temp(:,:,:) )
1215 if ( monit_id(im_t_masflx) > 0 )
then
1224 call monitor_put( monit_id(im_t_masflx), work2d(:,:) )
1226 if ( monit_id(im_o_masflx) > 0 )
then
1235 call monitor_put( monit_id(im_o_masflx), work2d(:,:) )
1237 if (
ice_flag .and. monit_id(im_i_masflx) > 0 )
then
1246 call monitor_put( monit_id(im_i_masflx), work2d(:,:) )
1251 if ( monit_id(im_o_engi) > 0 )
then
1262 call monitor_put( monit_id(im_o_engi), work3d(:,:,:) )
1264 if (
ice_flag .and. monit_id(im_i_engi) > 0 )
then
1273 call monitor_put( monit_id(im_i_engi), work2d(:,:) )
1277 call monitor_put( monit_id(im_engsfc_gh),
ocean_sflx_gh(:,:) )
1279 call monitor_put( monit_id(im_engssf_gh),
ocean_oflx_gh(:,:) )
1282 if ( monit_id(im_t_engflx) > 0 )
then
1292 call monitor_put( monit_id(im_t_engflx), work2d(:,:) )
1294 if ( monit_id(im_o_engflx) > 0 )
then
1304 call monitor_put( monit_id(im_o_engflx), work2d(:,:) )
1306 if ( monit_id(im_i_engflx) > 0 )
then
1316 call monitor_put( monit_id(im_i_engflx), work2d(:,:) )
1335 character(len=19) :: timelabel
1336 character(len=H_LONG) :: basename
1343 log_info(
"OCEAN_vars_restart_create",*)
'Create restart file (OCEAN) '
1351 log_info_cont(*)
'basename: ', trim(basename)
1375 if ( restart_fid /= -1 )
then
1394 if ( restart_fid /= -1 )
then
1396 log_info(
"OCEAN_vars_restart_close",*)
'Close restart file (OCEAN) '
1420 if ( restart_fid /= -1 )
then
1421 do i = i_temp, i_temp
1423 var_name(i), var_desc(i), var_unit(i), &
1426 standard_name=var_stdn(i) )
1428 do i = i_ocn_z0m, i_sfc_z0e
1430 var_name(i), var_desc(i), var_unit(i), &
1433 standard_name=var_stdn(i) )
1436 do i = i_ice_temp, i_ice_mass
1438 var_name(i), var_desc(i), var_unit(i), &
1441 standard_name=var_stdn(i) )
1455 file_cartesc_write_var
1461 if ( restart_fid /= -1 )
then
1464 call file_cartesc_write_var( restart_fid, var_id(i_temp), &
1466 var_name(i_temp),
'OXY', fill_halo=.true. )
1477 call file_cartesc_write_var( restart_fid, var_id(i_ocn_z0m), &
1479 var_name(i_ocn_z0m),
'XY', fill_halo=.true. )
1480 call file_cartesc_write_var( restart_fid, var_id(i_sfc_temp), &
1482 var_name(i_sfc_temp),
'XY', fill_halo=.true. )
1483 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dir), &
1485 var_name(i_sfc_alb_ir_dir),
'XY', fill_halo=.true. )
1486 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dif), &
1488 var_name(i_sfc_alb_ir_dif),
'XY', fill_halo=.true. )
1489 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dir), &
1491 var_name(i_sfc_alb_nir_dir),
'XY', fill_halo=.true. )
1492 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dif), &
1494 var_name(i_sfc_alb_nir_dif),
'XY', fill_halo=.true. )
1495 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dir), &
1497 var_name(i_sfc_alb_vis_dir),
'XY', fill_halo=.true. )
1498 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dif), &
1500 var_name(i_sfc_alb_vis_dif),
'XY', fill_halo=.true. )
1501 call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0m), &
1503 var_name(i_sfc_z0m),
'XY', fill_halo=.true. )
1504 call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0h), &
1506 var_name(i_sfc_z0h),
'XY', fill_halo=.true. )
1507 call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0e), &
1509 var_name(i_sfc_z0e),
'XY', fill_halo=.true. )
1511 call file_cartesc_write_var( restart_fid, var_id(i_ice_temp), &
1513 var_name(i_ice_temp),
'XY', fill_halo=.true. )
1514 call file_cartesc_write_var( restart_fid, var_id(i_ice_mass), &
1516 var_name(i_ice_mass),
'XY', fill_halo=.true. )
integer, parameter, public n_rad_dir
real(rp), dimension(:,:), allocatable, public ocean_ocn_z0m
surface roughness length for momentum, open ocean [m]
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
ocean surface v-momentum flux [kg/m/s2]
logical, public ocean_restart_in_postfix_timelabel
Add timelabel to the basename of input file?
character(len=h_short), public ocean_ice_type
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
ocean surface u-momentum flux [kg/m/s2]
subroutine, public prc_abort
Abort Process.
integer, parameter, public i_r_direct
real(rp), dimension(:,:), allocatable, public atmos_pbl
real(rp), dimension(:,:), allocatable, public ocean_ice_temp
sea ice temperature [K]
real(rp), dimension(:,:), pointer, public ocean_oflx_water
ocean-ice surface water mass flux [kg/m2/s]
real(rp), public ocean_grid_cartesc_real_totarea
total area
real(rp), dimension(:,:), allocatable, public atmos_sflx_engi
subroutine, public ocean_vars_restart_open
Open ocean restart file for read.
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
module ocean / physics / ice / simple
subroutine, public ocean_vars_restart_read
Read ocean restart.
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
ocean surface w-momentum flux [kg/m/s2]
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
real(rp), dimension(:,:,:), allocatable, public ocean_salt_t
tendency of OCEAN_OCN_SALT
subroutine, public file_cartesc_def_var(fid, varname, desc, unit, dim_type, datatype, vid, standard_name, timeintv, nsteps, cell_measures)
Define a variable to file.
integer, parameter, public i_r_diffuse
real(rp), dimension(:,:), allocatable, public ocean_ice_rlmo
real(rp), dimension(:,:), allocatable, public ocean_q2
ocean surface water vapor at 2m [kg/kg]
character(len=h_short), public ocean_restart_out_dtype
REAL4 or REAL8.
integer, parameter, public i_r_ir
real(rp), dimension(:,:), allocatable, target, public ocean_ustar
ocean surface friction velocity [m/s]
real(rp), dimension(:,:,:), allocatable, public ocean_temp_t
tendency of OCEAN_OCN_TEMP
subroutine, public prof_rapstart(rapname_base, level, disable_barrier)
Start raptime.
real(rp), dimension(:,:), allocatable, public atmos_cossza
subroutine, public ocean_vars_monitor
monitor output
module atmosphere / hydrometeor
real(rp), dimension(:,:), allocatable, public ocean_ice_wstar
real(rp), dimension(:,:), allocatable, public ocean_ice_qstar
real(rp), dimension(:,:), allocatable, public ocean_v10
ocean surface velocity v at 10m [m/s]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
ocean surface tracer flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_grid_cartesc_real_area
area of grid cell
character(len=h_long), public ocean_restart_in_basename
Basename of the input file.
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
ocean surface sensible heat flux [J/m2/s]
real(rp), dimension(:,:), pointer, public ocean_ocn_tstar
real(rp), dimension(:,:), pointer, public ocean_ocn_ustar
real(rp), dimension(:,:), pointer, public ocean_oflx_gh
ocean-ice surface water heat flux [J/m2/s]
logical, public ocean_restart_output
Output restart file?
real(rp), dimension(:,:), allocatable, target, public ocean_sflx_gh
ocean surface water heat flux [J/m2/s]
integer, parameter, public rp
real(rp), dimension(:,:,:), allocatable, public ocean_vvel_t
tendency of OCEAN_OCN_VVEL
real(rp), dimension(:,:), pointer, public ocean_ocn_qstar
real(rp), dimension(:,:), allocatable, public ocean_engi_supl
real(rp), dimension(:,:), allocatable, public atmos_sflx_water
subroutine, public ocean_vars_restart_def_var
Define ocean variables in restart file.
integer, parameter, public i_r_nir
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
real(rp), dimension(:,:,:), allocatable, public ocean_uvel_t
tendency of OCEAN_OCN_UVEL
real(rp), dimension(:,:,:), allocatable, public ocean_uvel
ocean zonal velocity [m/s]
subroutine, public check(current_line, v)
Undefined value checker.
real(rp), dimension(:,:,:,:), allocatable, public atmos_sflx_rad_dn
subroutine, public ocean_vars_restart_enddef
Exit netCDF define mode.
real(rp), dimension(:,:), allocatable, public atmos_sfc_dens
subroutine, public ocean_vars_restart_close
Close restart file.
real(rp), dimension(:,:), allocatable, public ocean_ice_temp_t
tendency of OCEAN_ICE_TEMP
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
logical, public ocean_restart_out_postfix_timelabel
Add timelabel to the basename of output file?
real(rp), public ocean_phy_ice_freezetemp
real(rp), dimension(:,:), allocatable, target, public ocean_tstar
ocean surface tempreture scale [K]
real(rp), dimension(:,:), allocatable, public atmos_temp
logical, public ocean_restart_out_aggregate
Switch to use aggregate file.
module ocean / grid / cartesianC / index
subroutine, public monitor_reg(name, desc, unit, itemid, ndims, dim_type, is_tendency)
Search existing item, or matching check between requested and registered item.
subroutine, public ocean_vars_history
History output set for ocean variables.
real(rp), dimension(:,:), pointer, public ocean_ocn_rlmo
real(rp), dimension(:,:), allocatable, target, public ocean_wstar
ocean surface convective velocity scale [m/s]
real(rp), dimension(:,:), allocatable, public ocean_mass_supl
real(rp), dimension(:,:), pointer, public ocean_oflx_engi
ocean-ice surface internal energy flux [J/m2/s]
real(rp), dimension(:,:), allocatable, target, public ocean_sflx_water
ocean surface water mass flux [kg/m2/s]
real(rp), parameter, public const_dwatr
density of water [kg/m3]
real(rp), dimension(:,:), allocatable, public ocean_ice_tstar
logical, dimension(:,:), allocatable, public landuse_exists_ocean
ocean calculation flag
subroutine, public ocean_vars_finalize
Finalize.
real(rp), dimension(:,:), allocatable, public ocean_ice_mass
sea ice mass [kg]
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
real(rp), dimension(:,:,:), allocatable, public ocean_grid_cartesc_real_vol
volume of grid cell
real(rp), dimension(:,:,:), allocatable, public ocean_vvel
ocean meridional velocity [m/s]
logical, public ocean_restart_in_aggregate
Switch to use aggregate file.
logical, public statistics_checktotal
calc&report variable totals to logfile?
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
subroutine, public time_gettimelabel(timelabel)
generate time label
module coupler / surface-atmospehre
real(rp), dimension(:,:), allocatable, target, public ocean_sflx_engi
ocean surface internal energy flux [J/m2/s]
integer, parameter, public i_r_vis
subroutine, public ocean_vars_setup
Setup.
real(rp), dimension(:,:), allocatable, public atmos_v
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
real(rp), dimension(:,:), allocatable, public atmos_dens
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
real(rp), public lhf
latent heat of fusion for use [J/kg]
logical function, public file_get_aggregate(fid)
subroutine, public ocean_vars_restart_write
Write ocean variables to restart file.
subroutine, public file_cartesc_open(basename, fid, single, aggregate)
open a netCDF file for read
subroutine, public ocean_phy_ice_fraction(OIA, OIS, OIE, OJA, OJS, OJE, ICE_MASS, ICE_FRAC)
subroutine, public prof_rapend(rapname_base, level, disable_barrier)
Save raptime.
module ocean / grid / cartesianC / real
real(rp), dimension(:,:), allocatable, target, public ocean_rlmo
ocean surface inversed Obukhov length [1/m]
real(rp), dimension(:,:), allocatable, public ocean_ice_frac
area fraction of sea ice [1]
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
ocean surface latent heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public ocean_salt
ocean salinity [PSU]
real(rp), dimension(:,:), allocatable, public ocean_ice_mass_t
tendency of OCEAN_ICE_MASS
real(rp), dimension(:,:), allocatable, public atmos_pres
integer, parameter, public n_rad_rgn
real(rp), dimension(:,:), allocatable, public ocean_u10
ocean surface velocity u at 10m [m/s]
real(rp), public const_undef
real(rp), dimension(:,:), allocatable, public atmos_u
character(len=h_long), public ocean_restart_out_basename
Basename of the output file.
character(len=h_mid), public ocean_restart_out_title
Title of the output file.
real(rp), dimension(:,:), allocatable, public atmos_w
integer, public io_fid_conf
Config file ID.
real(rp), dimension(:,:), pointer, public ocean_ocn_wstar
real(rp), dimension(:,:), allocatable, target, public ocean_qstar
ocean surface moisture scale [kg/kg]
real(rp), public cv_water
CV for water [J/kg/K].
real(rp), dimension(:,:), allocatable, public ocean_t2
ocean surface temperature at 2m [K]
subroutine, public ocean_vars_restart_create
Create ocean restart file.
real(rp), public ocean_grid_cartesc_real_totvol
total volume
real(rp), public cv_ice
CV for ice [J/kg/K].
real(rp), dimension(:,:), allocatable, public atmos_sfc_pres
subroutine, public ocean_vars_check(force)
Budget monitor for ocean.
real(rp), dimension(:,:,:), allocatable, public ocean_temp
ocean temperature [K]
real(rp), dimension(:,:), allocatable, public ocean_ice_ustar
real(rp), dimension(:,:), allocatable, public atmos_qv