Go to the documentation of this file.
154 logical,
private :: ocean_vars_checkrange = .false.
155 logical,
private :: ocean_restart_in_check_coordinates = .true.
158 integer,
private,
parameter :: vmax = 17
159 integer,
private,
parameter :: i_temp = 1
160 integer,
private,
parameter :: i_salt = 2
161 integer,
private,
parameter :: i_uvel = 3
162 integer,
private,
parameter :: i_vvel = 4
163 integer,
private,
parameter :: i_ocn_z0m = 5
164 integer,
private,
parameter :: i_sfc_temp = 6
165 integer,
private,
parameter :: i_sfc_alb_ir_dir = 7
166 integer,
private,
parameter :: i_sfc_alb_ir_dif = 8
167 integer,
private,
parameter :: i_sfc_alb_nir_dir = 9
168 integer,
private,
parameter :: i_sfc_alb_nir_dif = 10
169 integer,
private,
parameter :: i_sfc_alb_vis_dir = 11
170 integer,
private,
parameter :: i_sfc_alb_vis_dif = 12
171 integer,
private,
parameter :: i_sfc_z0m = 13
172 integer,
private,
parameter :: i_sfc_z0h = 14
173 integer,
private,
parameter :: i_sfc_z0e = 15
174 integer,
private,
parameter :: i_ice_temp = 16
175 integer,
private,
parameter :: i_ice_mass = 17
177 character(len=H_SHORT),
private :: var_name(vmax)
178 character(len=H_MID),
private :: var_desc(vmax)
179 character(len=H_MID),
private :: var_stdn(vmax)
180 character(len=H_SHORT),
private :: var_unit(vmax)
181 integer,
private :: var_id(vmax)
182 integer,
private :: restart_fid = -1
184 data var_name /
'OCEAN_TEMP', &
190 'OCEAN_SFC_ALB_IR_dir', &
191 'OCEAN_SFC_ALB_IR_dif', &
192 'OCEAN_SFC_ALB_NIR_dir', &
193 'OCEAN_SFC_ALB_NIR_dif', &
194 'OCEAN_SFC_ALB_VIS_dir', &
195 'OCEAN_SFC_ALB_VIS_dif', &
202 data var_desc /
'ocean temperature', &
204 'ocean u-velocity', &
205 'ocean v-velocity', &
206 'open ocean roughness length (momentum)', &
207 'ocean surface skin temperature', &
208 'ocean surface albedo for IR (direct)', &
209 'ocean surface albedo for IR (diffuse)', &
210 'ocean surface albedo for NIR (direct)', &
211 'ocean surface albedo for NIR (diffuse)', &
212 'ocean surface albedo for VIS (direct)', &
213 'ocean surface albedo for VIS (diffuse)', &
214 'ocean surface roughness length (momentum)', &
215 'ocean surface roughness length (heat)', &
216 'ocean surface roughness length (vapor)', &
217 'seaice temperature', &
220 data var_stdn /
'sea_water_temperature', &
221 'sea_water_salinity', &
222 'eastward_sea_water_velocity', &
223 'northward_sea_water_velocity', &
225 'sea_surface_skin_temperature', &
238 data var_unit /
'K', &
257 integer,
parameter :: im_o_temp = 1
258 integer,
parameter :: im_i_temp = 2
259 integer,
parameter :: im_i_mass = 3
260 integer,
parameter :: im_sfc = 4
261 integer,
parameter :: im_ssf = 5
262 integer,
parameter :: im_mas_supl = 6
263 integer,
parameter :: im_t_masflx = 7
264 integer,
parameter :: im_o_masflx = 8
265 integer,
parameter :: im_i_masflx = 9
266 integer,
parameter :: im_o_engi = 10
267 integer,
parameter :: im_i_engi = 11
268 integer,
parameter :: im_engsfc_gh = 12
269 integer,
parameter :: im_engsfc_ei = 13
270 integer,
parameter :: im_engssf_gh = 14
271 integer,
parameter :: im_engssf_ei = 15
272 integer,
parameter :: im_eng_supl = 16
273 integer,
parameter :: im_t_engflx = 17
274 integer,
parameter :: im_o_engflx = 18
275 integer,
parameter :: im_i_engflx = 19
276 integer,
parameter :: im_max = 19
277 integer,
private :: monit_id(im_max)
294 namelist / param_ocean_vars / &
298 ocean_restart_in_check_coordinates, &
305 ocean_vars_checkrange
312 log_info(
"OCEAN_vars_setup",*)
'Setup'
315 case (
'NONE',
'OFF' )
488 log_info(
"OCEAN_vars_setup",*)
'Not found namelist. Default used.'
489 elseif( ierr > 0 )
then
490 log_error(
"OCEAN_vars_setup",*)
'Not appropriate names in namelist PARAM_OCEAN_VARS. Check!'
493 log_nml(param_ocean_vars)
496 log_info(
"OCEAN_vars_setup",*)
'List of prognostic variables (OCEAN) '
497 log_info_cont(
'(1x,A,A24,A,A48,A,A12,A)') &
498 ' |',
'VARNAME ',
'|',
'DESCRIPTION ',
'[',
'UNIT ',
']'
500 log_info_cont(
'(1x,A,I3,A,A24,A,A48,A,A12,A)') &
501 'NO.',iv,
'|',var_name(iv),
'|',var_desc(iv),
'[',var_unit(iv),
']'
509 log_info(
"OCEAN_vars_setup",*)
'Restart input? : NO'
516 log_info(
"OCEAN_vars_setup",*)
'Restart output? : NO'
521 call monitor_reg(
'OCN_TEMP',
'sea water temperature',
'K m3', &
522 monit_id(im_o_temp), &
523 dim_type=
'OXY', is_tendency=.false. )
524 call monitor_reg(
'OCN_ICE_TEMP',
'sea ice temperature',
'K m3', &
525 monit_id(im_i_temp), &
526 dim_type=
'XY', is_tendency=.false. )
527 call monitor_reg(
'OCN_ICE_MASS',
'sea ice mass',
'kg', &
528 monit_id(im_i_mass), &
529 dim_type=
'XY', is_tendency=.false. )
530 call monitor_reg(
'OCN_MASFLX_TOP',
'SFC mass flux',
'kg', &
532 dim_type=
'XY', is_tendency=.true. )
533 call monitor_reg(
'OCN_MASFLX_MID',
'sea surface mass flux',
'kg', &
535 dim_type=
'XY', is_tendency=.true. )
536 call monitor_reg(
'OCN_MAS_SUPL',
'mass supply',
'kg', &
537 monit_id(im_mas_supl), &
538 dim_type=
'XY', is_tendency=.true. )
539 call monitor_reg(
'OCN_MASCNV',
'total mass convergence',
'kg', &
540 monit_id(im_t_masflx), &
541 dim_type=
'XY', is_tendency=.true. )
542 call monitor_reg(
'OCN_WTR_MASCNV',
'sea water mass convergence',
'kg', &
543 monit_id(im_o_masflx), &
544 dim_type=
'XY', is_tendency=.true. )
545 call monitor_reg(
'OCN_ICE_MASCNV',
'sea ice mass convergence',
'kg', &
546 monit_id(im_i_masflx), &
547 dim_type=
'XY', is_tendency=.true. )
548 call monitor_reg(
'OCN_WTR_ENGI',
'sea water internal energy',
'J', &
549 monit_id(im_o_engi), &
550 dim_type=
'OXY', is_tendency=.false. )
551 call monitor_reg(
'OCN_ICE_ENGI',
'sea ice internal energy',
'J', &
552 monit_id(im_i_engi), &
553 dim_type=
'XY', is_tendency=.false. )
554 call monitor_reg(
'OCN_GHFLX_TOP',
'SFC ground heat flux',
'J', &
555 monit_id(im_engsfc_gh), &
556 dim_type=
'XY', is_tendency=.true. )
557 call monitor_reg(
'OCN_ENGIFLX_TOP',
'SFC internal energy flux',
'J', &
558 monit_id(im_engsfc_ei), &
559 dim_type=
'XY', is_tendency=.true. )
560 call monitor_reg(
'OCN_GHFLX_MID',
'sea surface ground heat flux',
'J', &
561 monit_id(im_engssf_gh), &
562 dim_type=
'XY', is_tendency=.true. )
563 call monitor_reg(
'OCN_ENGIFLX_MID',
'sea surface internal energy flux',
'J', &
564 monit_id(im_engssf_ei), &
565 dim_type=
'XY', is_tendency=.true. )
566 call monitor_reg(
'OCN_ENGI_SUPL',
'internal energy supply',
'J', &
567 monit_id(im_eng_supl), &
568 dim_type=
'XY', is_tendency=.true. )
569 call monitor_reg(
'OCN_ENGICNV',
'total internal energy convergence',
'J', &
570 monit_id(im_t_engflx), &
571 dim_type=
'XY', is_tendency=.true. )
572 call monitor_reg(
'OCN_WTR_ENGICNV',
'sea water internal energy convergence',
'J', &
573 monit_id(im_o_engflx), &
574 dim_type=
'XY', is_tendency=.true. )
575 call monitor_reg(
'OCN_ICE_ENGICNV',
'sea ice internal energy convergence',
'J', &
576 monit_id(im_i_engflx), &
577 dim_type=
'XY', is_tendency=.true. )
589 file_cartesc_check_coordinates
594 character(len=19) :: timelabel
595 character(len=H_LONG) :: basename
599 log_info(
"OCEAN_vars_restart_open",*)
'Open restart file (OCEAN) '
609 log_info_cont(*)
'basename: ', trim(basename)
613 if( ocean_restart_in_check_coordinates )
call file_cartesc_check_coordinates( restart_fid )
616 log_info_cont(*)
'restart file for ocean is not specified.'
640 if ( restart_fid /= -1 )
then
642 log_info(
"OCEAN_vars_restart_read",*)
'Read from restart file (OCEAN) '
644 call file_cartesc_read( restart_fid, var_name(i_temp),
'OXY', &
652 call file_cartesc_read( restart_fid, var_name(i_ocn_z0m),
'XY', &
654 call file_cartesc_read( restart_fid, var_name(i_sfc_temp),
'XY', &
656 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dir),
'XY', &
658 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dif),
'XY', &
660 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dir),
'XY', &
662 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dif),
'XY', &
664 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dir),
'XY', &
666 call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dif),
'XY', &
668 call file_cartesc_read( restart_fid, var_name(i_sfc_z0m),
'XY', &
670 call file_cartesc_read( restart_fid, var_name(i_sfc_z0h),
'XY', &
672 call file_cartesc_read( restart_fid, var_name(i_sfc_z0e),
'XY', &
675 call file_cartesc_read( restart_fid, var_name(i_ice_temp),
'XY', &
677 call file_cartesc_read( restart_fid, var_name(i_ice_mass),
'XY', &
696 log_error(
"OCEAN_vars_restart_read",*)
'invalid restart file ID for ocean.'
716 var_name(i_temp), var_desc(i_temp), &
717 var_unit(i_temp), standard_name=var_stdn(i_temp), &
733 var_name(i_ocn_z0m), var_desc(i_ocn_z0m), &
734 var_unit(i_ocn_z0m), standard_name=var_stdn(i_ocn_z0m) )
736 var_name(i_sfc_temp), var_desc(i_sfc_temp), &
737 var_unit(i_sfc_temp), standard_name=var_stdn(i_sfc_temp) )
739 var_name(i_sfc_alb_ir_dir), var_desc(i_sfc_alb_ir_dir), &
740 var_unit(i_sfc_alb_ir_dir), standard_name=var_stdn(i_sfc_alb_ir_dir) )
742 var_name(i_sfc_alb_ir_dif), var_desc(i_sfc_alb_ir_dif), &
743 var_unit(i_sfc_alb_ir_dif), standard_name=var_stdn(i_sfc_alb_ir_dif) )
745 var_name(i_sfc_alb_nir_dir), var_desc(i_sfc_alb_nir_dir), &
746 var_unit(i_sfc_alb_nir_dir), standard_name=var_stdn(i_sfc_alb_nir_dir) )
748 var_name(i_sfc_alb_nir_dif), var_desc(i_sfc_alb_nir_dif), &
749 var_unit(i_sfc_alb_nir_dif), standard_name=var_stdn(i_sfc_alb_nir_dif) )
751 var_name(i_sfc_alb_vis_dir), var_desc(i_sfc_alb_vis_dir), &
752 var_unit(i_sfc_alb_vis_dir), standard_name=var_stdn(i_sfc_alb_vis_dir) )
754 var_name(i_sfc_alb_vis_dif), var_desc(i_sfc_alb_vis_dif), &
755 var_unit(i_sfc_alb_vis_dif), standard_name=var_stdn(i_sfc_alb_vis_dif) )
757 var_name(i_sfc_z0m), var_desc(i_sfc_z0m), &
758 var_unit(i_sfc_z0m), standard_name=var_stdn(i_sfc_z0m) )
760 var_name(i_sfc_z0h), var_desc(i_sfc_z0h), &
761 var_unit(i_sfc_z0h), standard_name=var_stdn(i_sfc_z0h) )
763 var_name(i_sfc_z0e), var_desc(i_sfc_z0e), &
764 var_unit(i_sfc_z0e), standard_name=var_stdn(i_sfc_z0h) )
768 var_name(i_ice_temp), var_desc(i_ice_temp), &
769 var_unit(i_ice_temp), standard_name=var_stdn(i_ice_temp) )
771 var_name(i_ice_mass), var_desc(i_ice_mass), &
772 var_unit(i_ice_mass), standard_name=var_stdn(i_ice_mass) )
776 'ocean subsurface heat flux (downward)',
'J/m2/s' )
778 'ocean surface liquid water flux (downward)',
'kg/m2/s' )
780 'ocean surface internal energy flux (downward)',
'J/m2/s' )
783 'ocean surface w-momentum flux (upward)',
'kg/m2/s' )
785 'ocean surface u-momentum flux (upward)',
'kg/m2/s' )
787 'ocean surface v-momentum flux (upward)',
'kg/m2/s' )
789 'ocean surface sensible heat flux (upward)',
'J/m2/s' )
791 'ocean surface latent heat flux (upward)',
'J/m2/s' )
794 'ocean surface water vapor flux (upward)',
'kg/m2/s' )
795 call file_history_in(
ocean_u10(:,:),
'OCEAN_U10', &
796 'ocean 10m x-wind',
'm/s' )
797 call file_history_in(
ocean_v10(:,:),
'OCEAN_V10', &
798 'ocean 10m y-wind',
'm/s' )
799 call file_history_in(
ocean_t2(:,:),
'OCEAN_T2', &
800 'ocean 2m temperature',
'K' )
801 call file_history_in(
ocean_q2(:,:),
'OCEAN_Q2', &
802 'ocean 2m specific humidity',
'kg/kg' )
803 call file_history_in(
ocean_ustar(:,:),
'OCEAN_Ustar', &
804 'ocean friction velocity',
'm/s' )
805 call file_history_in(
ocean_tstar(:,:),
'OCEAN_Tstar', &
806 'ocean temperature scale',
'K' )
807 call file_history_in(
ocean_qstar(:,:),
'OCEAN_Qstar', &
808 'ocean moisture scale',
'kg/kg' )
809 call file_history_in(
ocean_wstar(:,:),
'OCEAN_Wstar', &
810 'ocean convective velocity scale',
'm/s' )
811 call file_history_in(
ocean_rlmo(:,:),
'OCEAN_RLmo', &
812 'ocean inversed Obukhov length',
'1/m' )
815 call file_history_in(
ocean_ocn_ustar(:,:),
'OCEAN_OCN_Ustar',
'friction velocity on open ocean surface',
'm/s' )
816 call file_history_in(
ocean_ocn_tstar(:,:),
'OCEAN_OCN_Tstar',
'temperature scale on open ocean surface',
'K' )
817 call file_history_in(
ocean_ocn_qstar(:,:),
'OCEAN_OCN_Qstar',
'moisture scale on open ocean surface',
'kg/kg' )
818 call file_history_in(
ocean_ocn_wstar(:,:),
'OCEAN_OCN_Wstar',
'convective velocity scale on open ocean surface',
'm/s' )
819 call file_history_in(
ocean_ocn_rlmo(:,:),
'OCEAN_OCN_RLmo',
'inversed Obukhov length on open ocean surface',
'1/m' )
820 call file_history_in(
ocean_ice_ustar(:,:),
'OCEAN_ICE_Ustar',
'friction velocity on sea ice surface',
'm/s' )
821 call file_history_in(
ocean_ice_tstar(:,:),
'OCEAN_ICE_Tstar',
'temperature scale on sea ice surface',
'K', dim_type=
'XY' )
822 call file_history_in(
ocean_ice_qstar(:,:),
'OCEAN_ICE_Qstar',
'moisture scale on sea ice surface',
'kg/kg' )
823 call file_history_in(
ocean_ice_wstar(:,:),
'OCEAN_ICE_Wstar',
'convective velocity scale on sea ice surface',
'm/s' )
824 call file_history_in(
ocean_ice_rlmo(:,:),
'OCEAN_ICE_RLmo',
'inversed Obukhov length on sea ice surface',
'1/m' )
826 call file_history_in(
ocean_ice_frac(:,:),
'OCEAN_ICE_FRAC',
'seaice fraction',
'1' )
850 logical,
intent(in),
optional :: force
854 if (
present(force) )
then
857 check = ocean_vars_checkrange
863 var_name(i_temp), __file__, __line__, &
880 var_name(i_ocn_z0m), __file__, __line__, &
884 var_name(i_sfc_temp), __file__, __line__, &
888 var_name(i_sfc_alb_ir_dir ), __file__, __line__, &
892 var_name(i_sfc_alb_ir_dif ), __file__, __line__, &
896 var_name(i_sfc_alb_nir_dir), __file__, __line__, &
900 var_name(i_sfc_alb_nir_dif), __file__, __line__, &
904 var_name(i_sfc_alb_vis_dir), __file__, __line__, &
908 var_name(i_sfc_alb_vis_dif), __file__, __line__, &
912 var_name(i_sfc_z0m), __file__, __line__, &
916 var_name(i_sfc_z0h), __file__, __line__, &
920 var_name(i_sfc_z0e), __file__, __line__, &
925 var_name(i_ice_temp), __file__, __line__, &
929 var_name(i_ice_mass), __file__, __line__, &
935 if (
present(force) )
then
1040 call monitor_put( monit_id(im_o_temp),
ocean_temp(:,:,:) )
1049 if ( monit_id(im_t_masflx) > 0 )
then
1056 call monitor_put( monit_id(im_t_masflx), work2d(:,:) )
1058 if ( monit_id(im_o_masflx) > 0 )
then
1065 call monitor_put( monit_id(im_o_masflx), work2d(:,:) )
1067 if ( monit_id(im_i_masflx) > 0 )
then
1074 call monitor_put( monit_id(im_i_masflx), work2d(:,:) )
1079 if ( monit_id(im_o_engi) > 0 )
then
1088 call monitor_put( monit_id(im_o_engi), work3d(:,:,:) )
1090 if ( monit_id(im_i_engi) > 0 )
then
1097 call monitor_put( monit_id(im_i_engi), work2d(:,:) )
1101 call monitor_put( monit_id(im_engsfc_gh),
ocean_sflx_gh(:,:) )
1103 call monitor_put( monit_id(im_engssf_gh),
ocean_oflx_gh(:,:) )
1106 if ( monit_id(im_t_engflx) > 0 )
then
1114 call monitor_put( monit_id(im_t_engflx), work2d(:,:) )
1116 if ( monit_id(im_o_engflx) > 0 )
then
1124 call monitor_put( monit_id(im_o_engflx), work2d(:,:) )
1126 if ( monit_id(im_i_engflx) > 0 )
then
1134 call monitor_put( monit_id(im_i_engflx), work2d(:,:) )
1152 character(len=19) :: timelabel
1153 character(len=H_LONG) :: basename
1158 log_info(
"OCEAN_vars_restart_create",*)
'Create restart file (OCEAN) '
1166 log_info_cont(*)
'basename: ', trim(basename)
1186 if ( restart_fid /= -1 )
then
1201 if ( restart_fid /= -1 )
then
1203 log_info(
"OCEAN_vars_restart_close",*)
'Close restart file (OCEAN) '
1223 if ( restart_fid /= -1 )
then
1224 do i = i_temp, i_temp
1226 var_name(i), var_desc(i), var_unit(i), &
1229 standard_name=var_stdn(i) )
1231 do i = i_ocn_z0m, i_sfc_z0e
1233 var_name(i), var_desc(i), var_unit(i), &
1236 standard_name=var_stdn(i) )
1239 do i = i_ice_temp, i_ice_mass
1241 var_name(i), var_desc(i), var_unit(i), &
1244 standard_name=var_stdn(i) )
1256 file_cartesc_write_var
1260 if ( restart_fid /= -1 )
then
1263 call file_cartesc_write_var( restart_fid, var_id(i_temp), &
1265 var_name(i_temp),
'OXY', fill_halo=.true. )
1276 call file_cartesc_write_var( restart_fid, var_id(i_ocn_z0m), &
1278 var_name(i_ocn_z0m),
'XY', fill_halo=.true. )
1279 call file_cartesc_write_var( restart_fid, var_id(i_sfc_temp), &
1281 var_name(i_sfc_temp),
'XY', fill_halo=.true. )
1282 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dir), &
1284 var_name(i_sfc_alb_ir_dir),
'XY', fill_halo=.true. )
1285 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dif), &
1287 var_name(i_sfc_alb_ir_dif),
'XY', fill_halo=.true. )
1288 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dir), &
1290 var_name(i_sfc_alb_nir_dir),
'XY', fill_halo=.true. )
1291 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dif), &
1293 var_name(i_sfc_alb_nir_dif),
'XY', fill_halo=.true. )
1294 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dir), &
1296 var_name(i_sfc_alb_vis_dir),
'XY', fill_halo=.true. )
1297 call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dif), &
1299 var_name(i_sfc_alb_vis_dif),
'XY', fill_halo=.true. )
1300 call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0m), &
1302 var_name(i_sfc_z0m),
'XY', fill_halo=.true. )
1303 call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0h), &
1305 var_name(i_sfc_z0h),
'XY', fill_halo=.true. )
1306 call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0e), &
1308 var_name(i_sfc_z0e),
'XY', fill_halo=.true. )
1310 call file_cartesc_write_var( restart_fid, var_id(i_ice_temp), &
1312 var_name(i_ice_temp),
'XY', fill_halo=.true. )
1313 call file_cartesc_write_var( restart_fid, var_id(i_ice_mass), &
1315 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
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.
subroutine, public file_cartesc_open(basename, fid, aggregate)
open a netCDF file for read
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 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