Changeset 15730
- Timestamp:
- 2022-02-28T12:47:48+01:00 (2 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/cfgs/SHARED/field_def_nemo-ice.xml
r15658 r15730 180 180 <!-- TEOS-10 --> 181 181 <field id="sss_m_abs" unit="psu" /> 182 <!-- SEOS --> 183 <field id="sss_m_seos" unit="psu" /> 182 184 183 185 <field id="ssu_m" unit="m/s" /> … … 378 380 <!-- TEOS-10 --> 379 381 <field id="sss_m_abs" unit="psu" /> 382 <!-- SEOS --> 383 <field id="sss_m_seos" unit="psu" /> 380 384 381 385 <!-- heat --> -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/cfgs/SHARED/field_def_nemo-oce.xml
r15662 r15730 38 38 <field id="soce_abs" long_name="absolute salinity" standard_name="sea_water_absolute_salinity" unit="1e-3" grid_ref="grid_T_3D"/> 39 39 <field id="soce_abs_e3t" long_name="absolute salinity (thickness weighted)" unit="1e-3" grid_ref="grid_T_3D" > soce_abs * e3t </field > 40 <!-- SEOS --> 41 <field id="toce_seos" long_name="temperature" standard_name="sea_water_temperature" unit="degC" grid_ref="grid_T_3D"/> 42 <field id="toce_seos_e3t" long_name="temperature (thickness weighted)" unit="degC" grid_ref="grid_T_3D" > toce_seos * e3t </field > 43 <field id="soce_seos" long_name="salinity" standard_name="sea_water_salinity" unit="1e-3" grid_ref="grid_T_3D"/> 44 <field id="soce_seos_e3t" long_name="salinity (thickness weighted)" unit="1e-3" grid_ref="grid_T_3D" > soce_seos * e3t </field > 40 45 41 46 <field id="toce_e3t_300" field_ref="toce_e3t" unit="degree_C" grid_ref="grid_T_zoom_300" detect_missing_value="true" /> … … 95 100 <field id="somint_abs" long_name="vertical integral of absolute salinity times density" standard_name="integral_wrt_depth_of_product_of_density_and_absolute_salinity" unit="(kg m2) x (1e-3)" /> 96 101 102 <!-- SEOS --> 103 <field id="sst_seos" long_name="sea surface temperature" standard_name="sea_surface_temperature" unit="degC" /> 104 <field id="sst2_seos" long_name="square of sea surface temperature" standard_name="square_of_sea_surface_temperature" unit="degC2" > sst_seos * sst_seos </field > 105 <field id="sstmax_seos" long_name="max of sea surface temperature" field_ref="sst_seos" operation="maximum" /> 106 <field id="sstmin_seos" long_name="min of sea surface temperature" field_ref="sst_seos" operation="minimum" /> 107 <field id="sstgrad_seos" long_name="module of sst gradient" unit="degC/m" /> 108 <field id="sstgrad2_seos" long_name="square of module of sst gradient" unit="degC2/m2" /> 109 <field id="sbt_seos" long_name="sea bottom temperature" unit="degC" /> 110 <field id="tosmint_seos" long_name="vertical integral of temperature times density" standard_name="integral_wrt_depth_of_product_of_density_and_temperature" unit="(kg m2) degree_C" /> 111 <field id="sst_wl_seos" long_name="Delta SST of warm layer" unit="degC" /> 112 <field id="sst_cs_seos" long_name="Delta SST of cool skin" unit="degC" /> 113 <field id="temp_3m_seos" long_name="temperature at 3m" unit="degC" /> 114 115 <field id="sss_seos" long_name="sea surface salinity" standard_name="sea_surface_salinity" unit="1e-3" /> 116 <field id="sss2_seos" long_name="square of sea surface salinity" unit="1e-6" > sss_seos * sss_seos </field > 117 <field id="sssmax_seos" long_name="max of sea surface salinity" field_ref="sss_seos" operation="maximum" /> 118 <field id="sssmin_seos" long_name="min of sea surface salinity" field_ref="sss_seos" operation="minimum" /> 119 <field id="sbs_seos" long_name="sea bottom salinity" unit="0.001" /> 120 <field id="somint_seos" long_name="vertical integral of salinity times density" standard_name="integral_wrt_depth_of_product_of_density_and_salinity" unit="(kg m2) x (1e-3)" /> 121 122 123 124 97 125 <field id="taubot" long_name="bottom stress module" unit="N/m2" /> 98 126 … … 129 157 <field id="beta" long_name="haline contraction" unit="1e3" grid_ref="grid_T_3D" /> 130 158 <field id="rhop" long_name="potential density (sigma0)" standard_name="sea_water_sigma_theta" unit="kg/m3" grid_ref="grid_T_3D" /> 159 <field id="rhop_e3t" long_name="potential density (sigma0) thickness weighted" standard_name="sea_water_sigma_theta" unit="kg/m3" grid_ref="grid_T_3D"> rhop * e3t </field> 131 160 <field id="N_2d" long_name="Depth-mean N" unit="m/s" /> 132 161 <field id="modslp" long_name="sqrt( slpi^2 + slpj^2 )" unit="1" grid_ref="grid_T_3D" /> … … 409 438 <!-- TEOS-10 --> 410 439 <field id="sss_m_abs" unit="psu" /> 440 <!-- SEOS --> 441 <field id="sss_m_seos" unit="psu" /> 442 443 411 444 412 445 <field id="ssu_m" unit="m/s" /> … … 973 1006 <field field_ref="toce_con" name="thetao_con" long_name="sea_water_conservative_temperature" /> 974 1007 <field field_ref="soce_abs" name="so_con" long_name="sea_water_absolute_salinity" /> 1008 <!-- SEOS --> 1009 <field field_ref="toce_seos" name="thetao_seos" long_name="sea_water_temperature" /> 1010 <field field_ref="soce_seos" name="so_seos" long_name="sea_water_salinity" /> 1011 975 1012 976 1013 <field field_ref="uoce" name="uo" long_name="sea_water_x_velocity" /> … … 989 1026 <field field_ref="sst2_con" name="tossq_con" long_name="square_of_sea_surface_conservative_temperature" /> 990 1027 <field field_ref="sstgrad_con" name="tosgrad_con" long_name="module_of_sea_surface_conservative_temperature_gradient" /> 991 <field field_ref="sss_abs" name="sos" long_name="sea_surface_absolute_salinity" /> 1028 <field field_ref="sss_abs" name="sos_abs" long_name="sea_surface_absolute_salinity" /> 1029 <!-- SEOS --> 1030 <field field_ref="sst_seos" name="tos_seos" long_name="sea_surface_temperature" /> 1031 <field field_ref="sst2_seos" name="tossq_seos" long_name="square_of_sea_surface_temperature" /> 1032 <field field_ref="sstgrad_seos" name="tosgrad_seos" long_name="module_of_sea_surface_temperature_gradient" /> 1033 <field field_ref="sss_seos" name="sos_seos" long_name="sea_surface_salinity" /> 1034 1035 992 1036 993 1037 <field field_ref="ssh" name="zos" long_name="sea_surface_height_above_geoid" /> … … 1025 1069 <field field_ref="sst2_con" name="tossq_con" long_name="square_of_sea_surface_conservative_temperature" /> 1026 1070 <field field_ref="sss_abs" name="sos_abs" long_name="sea_surface_absolute_salinity" /> 1027 1071 <!-- SEOS --> 1072 <field field_ref="toce_seos" name="thetao_seos" long_name="sea_water_temperature" /> 1073 <field field_ref="soce_seos" name="so_seos" long_name="sea_water_salinity" /> 1074 <field field_ref="sst_seos" name="tos_seos" long_name="sea_surface_temperature" /> 1075 <field field_ref="sst2_seos" name="tossq_seos" long_name="square_of_sea_surface_temperature" /> 1076 <field field_ref="sss_seos" name="sos_seos" long_name="sea_surface_salinity" /> 1077 1078 <field field_ref="rhop" name="sigma0" long_name="potential density" /> 1028 1079 <field field_ref="ssh" name="zos" long_name="sea_surface_height_above_geoid" /> 1029 1080 <field field_ref="empmr" name="wfo" long_name="water_flux_into_sea_water" /> … … 1073 1124 <field id="mid_sal_abs" name="vosaline_mid_abs" unit="psu" /> 1074 1125 <field id="bot_sal_abs" name="vosaline_bot_abs" unit="psu" /> 1126 <!-- SEOS --> 1127 <field id="top_temp_seos" name="votemper_top_seos" unit="degC" /> 1128 <field id="mid_temp_seos" name="votemper_mid_seos" unit="degC" /> 1129 <field id="bot_temp_seos" name="votemper_bot_seos" unit="degC" /> 1130 <field id="top_sal_seos" name="vosaline_top_seos" unit="psu" /> 1131 <field id="mid_sal_seos" name="vosaline_mid_seos" unit="psu" /> 1132 <field id="bot_sal_seos" name="vosaline_bot_seos" unit="psu" /> 1133 1075 1134 1076 1135 <field id="sshnmasked" name="sossheig" unit="m" /> … … 1093 1152 <!-- 25h diagnostic output --> 1094 1153 <field_group id="25h_grid_T" grid_ref="grid_T_3D" operation="instant"> 1154 <field id="tempis25h" name="insitu temperature 25h mean" unit="degC" /> 1095 1155 <!-- EOS80 --> 1096 1156 <field id="temper25h_pot" name="potential temperature 25h mean" unit="degC" /> 1097 <field id="tempis25h" name="insitu temperature 25h mean" unit="degC" />1098 1157 <field id="salin25h_pra" name="practical salinity 25h mean" unit="psu" /> 1099 1158 <!-- TEOS10 --> 1100 1159 <field id="temper25h_con" name="conservative temperature 25h mean" unit="degC" /> 1101 <field id="tempis25h" name="insitu temperature 25h mean" unit="degC" />1102 1160 <field id="salin25h_abs" name="absolute salinity 25h mean" unit="psu" /> 1161 <!-- SEOS --> 1162 <field id="temper25h_seos" name="temperature 25h mean" unit="degC" /> 1163 <field id="salin25h_seos" name="salinity 25h mean" unit="psu" /> 1164 1103 1165 1104 1166 <field id="ssh25h" name="sea surface height 25h mean" grid_ref="grid_T_2D" unit="m" /> -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/ICE/icedyn_rhg_evp.F90
r14075 r15730 839 839 ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008) 840 840 zsig_I (ji,jj) = zsig1 * 0.5_wp ! 1st stress invariant, aka average normal stress, aka negative pressure 841 zsig_II(ji,jj) = SQRT ( MAX( 0._wp, zsig2 * zsig2 * 0.25_wp + zsig12 ) )! 2nd '' '', aka maximum shear stress841 zsig_II(ji,jj) = SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 ) ! 2nd '' '', aka maximum shear stress 842 842 843 843 END DO … … 873 873 !!$ ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008), T-point 874 874 !!$ zsig_I(ji,jj) = zsig1 * 0.5_wp ! 1st stress invariant, aka average normal stress, aka negative pressure 875 !!$ zsig_II(ji,jj) = SQRT ( MAX( 0._wp, zsig2 * zsig2 * 0.25_wp + zsig12 ) )! 2nd '' '', aka maximum shear stress875 !!$ zsig_II(ji,jj) = SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 ) ! 2nd '' '', aka maximum shear stress 876 876 !!$ 877 877 !!$ ! Normalized principal stresses (used to display the ellipse) … … 882 882 !!$ END DO 883 883 !!$ ! 884 !!$ CALL iom_put( 'sig1_pnorm' , zsig1_p)885 !!$ CALL iom_put( 'sig2_pnorm' , zsig2_p)884 !!$ IF( iom_use('sig1_pnorm') ) CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00(:,:) ) 885 !!$ IF( iom_use('sig2_pnorm') ) CALL iom_put( 'sig2_pnorm' , zsig2_p(:,:) * zmsk00(:,:) ) 886 886 !!$ 887 887 !!$ DEALLOCATE( zsig1_p , zsig2_p , zsig_I, zsig_II ) … … 1006 1006 1007 1007 ! time 1008 it = ( kt - 1) * kitermax + kiter1008 it = ( kt - nit000 ) * kitermax + kiter 1009 1009 1010 1010 ! convergence … … 1026 1026 istatus = NF90_PUT_VAR( ncvgid, nvarid, (/zresm/), (/it/), (/1/) ) 1027 1027 ! close file 1028 IF( kt == nitend - nn_fsbc + 1 ) istatus = NF90_CLOSE(ncvgid)1028 IF( kt == nitend - nn_fsbc + 1 .AND. kiter == kitermax ) istatus = NF90_CLOSE(ncvgid) 1029 1029 ENDIF 1030 1030 -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/OCE/DIA/diaprod.F90
r15658 r15730 65 65 ! 66 66 67 IF( iom_use("urhop") .OR. iom_use("vrhop") .OR. iom_use("wrhop") & 68 #if ! defined key_diaar5 69 & .OR. iom_use("rhop") & 70 #endif 71 & ) THEN 67 IF( iom_use("urhop") .OR. iom_use("vrhop") .OR. iom_use("wrhop") ) THEN 72 68 CALL eos( tsn, z3d, zrhop ) ! now in situ and potential density 73 69 zrhop(:,:,:) = zrhop(:,:,:)-1000.e0 ! reference potential density to 1000 to avoid precision issues in rhop2 calculation 74 70 zrhop(:,:,jpk) = 0._wp 75 #if ! defined key_diaar576 CALL iom_put( 'rhop', zrhop )77 #else78 ! If key_diaar5 set then there is already an iom_put call to output rhop.79 ! Really should be a standard diagnostics option?80 #endif81 71 ENDIF 82 72 -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/OCE/ICB/icbini.F90
r14075 r15730 72 72 IF( .NOT. ln_icebergs ) RETURN 73 73 74 ALLOCATE( utau_icb(jpi,jpj) , vtau_icb(jpi,jpj) ) 74 75 ! ! allocate gridded fields 75 76 IF( icb_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'icb_alloc : unable to allocate arrays' ) -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/OCE/ICB/icbutl.F90
r15658 r15730 76 76 ss_e(1:jpi,1:jpj) = sss_m(:,:) 77 77 fr_e(1:jpi,1:jpj) = fr_i (:,:) 78 ua_e(1:jpi,1:jpj) = utau (:,:) * umask(:,:,1) ! maybe mask useless because mask applied in sbcblk79 va_e(1:jpi,1:jpj) = vtau (:,:) * vmask(:,:,1) ! maybe mask useless because mask applied in sbcblk78 ua_e(1:jpi,1:jpj) = utau_icb (:,:) * umask(:,:,1) ! maybe mask useless because mask applied in sbcblk 79 va_e(1:jpi,1:jpj) = vtau_icb (:,:) * vmask(:,:,1) ! maybe mask useless because mask applied in sbcblk 80 80 ! 81 81 CALL lbc_lnk_icb( 'icbutl', uo_e, 'U', -1._wp, 1, 1 ) -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/OCE/SBC/sbc_oce.F90
r15662 r15730 111 111 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: utau , utau_b !: sea surface i-stress (ocean referential) [N/m2] 112 112 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vtau , vtau_b !: sea surface j-stress (ocean referential) [N/m2] 113 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: utau_icb, vtau_icb !: sea surface (i,j)-stress used by icebergs [N/m2] 113 114 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: taum !: module of sea surface stress (at T-point) [N/m2] 114 115 !! wndm is used onmpute surface gases exchanges in ice-free ocean or leads -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/OCE/SBC/sbcmod.F90
r14075 r15730 448 448 IF( ln_mixcpl ) CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice ) ! forced-coupled mixed formulation after forcing 449 449 ! 450 IF ( ln_wave .AND. (ln_tauwoc .OR. ln_tauw) ) CALL sbc_wstress( ) ! Wind stress provided by waves 450 IF ( ln_wave .AND. (ln_tauwoc .OR. ln_tauw) ) CALL sbc_wstress( ) ! Wind stress provided by waves 451 ! 452 IF( ln_icebergs ) THEN ! save pure stresses (with no ice-ocean stress) for use by icebergs 453 utau_icb(:,:) = utau(:,:) ; vtau_icb(:,:) = vtau(:,:) 454 ENDIF 451 455 ! 452 456 ! !== Misc. Options ==! -
NEMO/branches/UKMO/NEMO_4.0.4_GO8_paquage_branch/src/OCE/SBC/sbcrnf.F90
r15662 r15730 174 174 CALL eos_fzp( sss_m(:,:), ztfrz(:,:) ) 175 175 WHERE( sf_t_rnf(1)%fnow(:,:,1) == -999._wp ) ! if missing data value use SST as runoffs temperature 176 rnf_tsc(:,:,jp_tem) = sst_m(:,:) * rnf(:,:) * r1_rau0176 rnf_tsc(:,:,jp_tem) = MAX( sst_m(:,:), 0.0_wp ) * rnf(:,:) * r1_rau0 177 177 END WHERE 178 178 WHERE( sf_t_rnf(1)%fnow(:,:,1) == -222._wp )
Note: See TracChangeset
for help on using the changeset viewer.