Changeset 6825
- Timestamp:
- 2016-07-29T09:44:31+02:00 (8 years ago)
- Location:
- branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM
- Files:
-
- 1 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/iodef.xml
r5517 r6825 61 61 <file id="file2" name_suffix="_SBC" description="surface fluxes variables" > <!-- time step automaticaly defined based on nn_fsbc --> 62 62 <field field_ref="empmr" name="wfo" /> 63 <field field_ref="emp_oce" name="emp_oce" long_name="Evap minus Precip over ocean" /> 64 <field field_ref="emp_ice" name="emp_ice" long_name="Evap minus Precip over ice" /> 63 65 <field field_ref="qsr_oce" name="qsr_oce" /> 64 66 <field field_ref="qns_oce" name="qns_oce" /> -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/CONFIG/SHARED/field_def.xml
r6472 r6825 61 61 <field id="mldr10_1max" long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="maximum" /> 62 62 <field id="mldr10_1min" long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="minimum" /> 63 <field id="mldzint" long_name="Mixed Layer Depth interpolated" standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta" unit="m" /> 63 64 <field id="heatc" long_name="Heat content vertically integrated" standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content" unit="J/m2" /> 64 65 <field id="saltc" long_name="Salt content vertically integrated" unit="1e-3*kg/m2" /> … … 204 205 205 206 <!-- * variable related to ice shelf forcing * --> 207 <field id="berg_calve" long_name="Iceberg calving" unit="kg/m2/s" /> 206 208 <field id="fwfisf" long_name="Ice shelf melting" unit="Kg/m2/s" /> 207 209 <field id="qisf" long_name="Ice Shelf Heat Flux" unit="W/m2" /> … … 501 503 <field id="aht2d" long_name="lateral eddy diffusivity" standard_name="ocean_tracer_xy_laplacian_diffusivity" unit="m2/s" grid_ref="grid_W_2D" /> 502 504 <field id="aht2d_eiv" long_name="EIV lateral eddy diffusivity" standard_name="ocean_tracer_bolus_laplacian_diffusivity" unit="m2/s" grid_ref="grid_W_2D" /> 505 <!-- variables added for nn_etau revision testing --> 506 <field id="htau" long_name="e-decay length scale of nn_etau TKE" unit="m" grid_ref="grid_W_2D" /> 507 <field id="tke" long_name="Turbulent Kinetic Energy" unit="m2/s2" /> 508 <field id="tke_niw" long_name="Turbulent Kinetic Energy due to near-inertial wave breaking" unit="m2/s2" /> 503 509 </field_group> 504 510 … … 507 513 <field id="ahmf_2d" long_name=" surface f-eddy viscosity coefficient" unit="m2/s or m4/s" /> 508 514 <field id="ahmf_3d" long_name=" 3D f-eddy viscosity coefficient" unit="m2/s or m4/s" grid_ref="grid_T_3D"/> 515 516 <!-- product fields --> 517 <field_group id="diaprod"> 518 <field id="ut" long_name="product_of_sea_water_x_velocity_and_potential_temperature" unit="degC m/s" grid_ref="grid_U_3D" /> 519 <field id="ut_e3u" long_name="product_of_sea_water_x_velocity_and_potential_temperature * e3u" unit="degC m2/s" grid_ref="grid_U_3D" > ut * e3u </field > 520 <field id="us" long_name="product_of_sea_water_x_velocity_and_salinity" unit="PSU m/s" grid_ref="grid_U_3D" /> 521 <field id="us_e3u" long_name="product_of_sea_water_x_velocity_and_salinity * e3u" unit="PSU m2/s" grid_ref="grid_U_3D" > us * e3u </field > 522 <field id="urhop" long_name="product_of_sea_water_x_velocity_and_potential_density" unit="(kg/m3).(m/s)" grid_ref="grid_U_3D" /> 523 <field id="urhop_e3u" long_name="product_of_sea_water_x_velocity_and_potential_density * e3u" unit="(kg/m3).(m2/s)" grid_ref="grid_U_3D" > urhop * e3u </field > 524 <field id="vt" long_name="product_of_sea_water_y_velocity_and_potential_temperature" unit="degC m/s" grid_ref="grid_V_3D" /> 525 <field id="vt_e3v" long_name="product_of_sea_water_y_velocity_and_potential_temperature * e3v" unit="degC m2/s" grid_ref="grid_V_3D" > vt * e3v </field > 526 <field id="vs" long_name="product_of_sea_water_y_velocity_and_salinity" unit="PSU m/s" grid_ref="grid_V_3D" /> 527 <field id="vs_e3v" long_name="product_of_sea_water_y_velocity_and_salinity * e3t" unit="PSU m2/s" grid_ref="grid_V_3D" > vs * e3v </field > 528 <field id="vrhop" long_name="product_of_sea_water_y_velocity_and_potential_density" unit="(kg/m3).(m/s)" grid_ref="grid_V_3D" /> 529 <field id="vrhop_e3v" long_name="product_of_sea_water_y_velocity_and_potential_density * e3t" unit="(kg/m3).(m2/s)" grid_ref="grid_V_3D" > vrhop * e3v </field > 530 <field id="wt" long_name="product_of_upward_sea_water_velocity_and_potential_temperature" unit="degC m/s" grid_ref="grid_W_3D" /> 531 <field id="ws" long_name="product_of_upward_sea_water_velocity_and_salinity" unit="PSU m/s" grid_ref="grid_W_3D" /> 532 <field id="wrhop" long_name="product_of_upward_sea_water_velocity_and_potential_density" unit="(kg/m3).(m/s)" grid_ref="grid_W_3D" /> 533 </field_group> 509 534 510 535 <!-- scalar variables available with key_diaar5 --> … … 608 633 <!-- variables available with iceberg trajectories --> 609 634 610 <field_group id="icbvar" domain_ref="grid_T" > 635 <field_group id="icbvar" grid_ref="grid_T_2D" > 636 <field id="berg_total_melt" long_name="icb melt rate 2 of icebergs" unit="kg/m2/s" /> 637 <field id="berg_total_heat_flux" long_name="icb latent heat of melting of icebergs" unit="kg/m2/s" /> 611 638 <field id="berg_melt" long_name="icb melt rate of icebergs" unit="kg/m2/s" /> 612 639 <field id="berg_buoy_melt" long_name="icb buoyancy component of iceberg melt rate" unit="kg/m2/s" /> -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/CONFIG/SHARED/namelist_ref
r6503 r6825 395 395 ln_usecplmask = .false. ! use a coupling mask file to merge data received from several models 396 396 ! ! -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel) 397 ln_coupled_iceshelf_fluxes = .false. ! If true use rate of change of mass of Greenland and Antarctic icesheets to set the 398 ! combined magnitude of the iceberg calving and iceshelf melting freshwater fluxes. 399 rn_greenland_calving_fraction = 0.5 ! Set fraction of total freshwater flux for iceberg calving - remainder goes to iceshelf melting. 400 rn_antarctica_calving_fraction = 0.5 ! Set fraction of total freshwater flux for iceberg calving - remainder goes to iceshelf melting. 401 rn_iceshelf_fluxes_tolerance = 1e-6 ! Fractional threshold for detecting differences in icesheet masses (must be positive definite). 397 402 / 398 403 !----------------------------------------------------------------------- -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r6507 r6825 234 234 IF( lk_zdftke ) THEN 235 235 CALL iom_put( "tke" , en ) ! TKE budget: Turbulent Kinetic Energy 236 CALL iom_put( "tke_niw" , e_niw ) ! TKE budget: Near-inertial waves237 236 ENDIF 238 237 CALL iom_put( "avs" , fsavs(:,:,:) ) ! S vert. eddy diff. coef. (useful only with key_zdfddm) … … 982 981 CALL histwrite( id_i, "sozotaux", kt, utau , jpi*jpj , idex ) ! i-wind stress 983 982 CALL histwrite( id_i, "sometauy", kt, vtau , jpi*jpj , idex ) ! j-wind stress 984 IF( lk_vvl ) THEN985 CALL histwrite( id_i, "vovvldep", kt, gdept_n(:,:,:), jpi*jpj*jpk, idex )! T-cell depth986 CALL histwrite( id_i, "vovvle3t", kt, e3t_n (:,:,:), jpi*jpj*jpk, idex )! T-cell thickness987 END IF988 983 989 984 IF( .NOT.ln_linssh ) THEN -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/ICB/icbrst.F90
r6507 r6825 170 170 cl_path = TRIM(cn_ocerst_outdir) 171 171 IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/' 172 IF ( ln_rstdate ) THEN 173 CALL ju2ymds( fjulday + rdt / rday, iyear, imonth, iday, zsec ) 174 WRITE(clkt, '(i4.4,2i2.2)') iyear, imonth, iday 175 ELSE 176 IF( kt > 999999999 ) THEN ; WRITE(clkt, * ) kt 177 ELSE ; WRITE(clkt, '(i8.8)') kt 178 ENDIF 179 ENDIF 172 180 IF( lk_mpp ) THEN 173 181 WRITE(cl_filename,'(A,"_icebergs_",A,"_restart_",I4.4,".nc")') TRIM(cexper), TRIM(ADJUSTL(clkt)), narea-1 -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90
r6507 r6825 27 27 USE in_out_manager ! I/O manager 28 28 USE iom ! I/O module 29 USE ioipsl, ONLY : ju2ymds ! for calendar 30 USE sbc_oce ! for icesheet freshwater input variables 29 31 USE diurnal_bulk 30 32 … … 87 89 IF( nitrst <= nitend .AND. nitrst > 0 ) THEN 88 90 IF ( ln_rstdate ) THEN 89 CALL ju2ymds( fjulday + rdt tra(1)/ rday, iyear, imonth, iday, zsec )91 CALL ju2ymds( fjulday + rdt / rday, iyear, imonth, iday, zsec ) 90 92 WRITE(clkt, '(i4.4,2i2.2)') iyear, imonth, iday 91 93 ELSE -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r6507 r6825 108 108 ! variables used in the coupled interface 109 109 INTEGER , PUBLIC, PARAMETER :: jpl = ncat 110 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: u_ice, v_ice ! jpi, jpj 110 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: u_ice, v_ice ! jpi, jpj 111 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: a_p, ht_p ! Meltpond fraction and depth 111 112 #endif 112 113 -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r6507 r6825 208 208 CALL wrk_alloc( jpi,jpj,jpk, ztfrz3d ) 209 209 DO jk=1,jpk 210 CALL eos_fzp( tsn(:,:,jk,jp_sal), ztfrz3d(:,:,jk), fsdept_n(:,:,jk) )210 CALL eos_fzp( tsn(:,:,jk,jp_sal), ztfrz3d(:,:,jk), gdept_n(:,:,jk) ) 211 211 ENDDO 212 212 tsn(:,:,:,jp_tem) = MAX( tsn(:,:,:,jp_tem), ztfrz3d ) … … 224 224 225 225 ! calculate surface freezing temperature and send to CICE 226 CALL eos_fzp(sss_m(:,:), sstfrz(:,:), fsdept_n(:,:,1))226 CALL eos_fzp(sss_m(:,:), sstfrz(:,:), gdept_n(:,:,1)) 227 227 CALL nemo2cice(sstfrz,Tf, 'T', 1. ) 228 228 -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r6507 r6825 38 38 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qisf !: net heat flux from ice shelf [W/m2] 39 39 REAL(wp), PUBLIC :: rn_hisf_tbl !: thickness of top boundary layer [m] 40 LOGICAL , PUBLIC :: ln_divisf !: flag to correct divergence 40 41 INTEGER , PUBLIC :: nn_isf !: flag to choose between explicit/param/specified 41 42 INTEGER , PUBLIC :: nn_isfblk !: flag to choose the bulk formulation to compute the ice shelf melting … … 92 93 INTEGER :: ji, jj ! loop index 93 94 REAL(wp), DIMENSION (:,:), POINTER :: zt_frz, zdep ! freezing temperature (zt_frz) at depth (zdep) 95 REAL(wp) :: zgreenland_fwfisf_sum, zantarctica_fwfisf_sum 96 INTEGER :: ji, jj, jk, ijkmin, inum, ierror 97 REAL(wp) :: zt_frz, zpress 94 98 !!--------------------------------------------------------------------- 95 99 ! … … 231 235 CALL eos_fzp( stbl(:,:), zt_frz(:,:), zdep(:,:) ) 232 236 233 ! if apply only on the trend and not as a volume flux (rdivisf = 0), fwfisf have to be set to 0 now234 fwfisf(:,:) = rdivisf * fwfisf(:,:)235 236 237 risf_tsc(:,:,jp_tem) = qisf(:,:) * r1_rau0_rcp - fwfisf(:,:) * zt_frz(:,:) * r1_rau0 ! 237 238 risf_tsc(:,:,jp_sal) = 0.0_wp -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r6507 r6825 189 189 fwfisf (:,:) = 0.0_wp ; fwfisf_b (:,:) = 0.0_wp 190 190 risf_tsc(:,:,:) = 0.0_wp ; risf_tsc_b(:,:,:) = 0.0_wp 191 rdivisf = 0.0_wp192 191 END IF 193 192 IF( nn_ice == 0 .AND. nn_components /= jp_iam_opa ) fr_i(:,:) = 0._wp ! no ice in the domain, ice fraction is always zero -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r6507 r6825 28 28 29 29 PUBLIC zdf_mxl ! called by step.F90 30 PUBLIC zdf_mxl_alloc ! Used in zdf_tke_init 30 31 31 32 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: nmln !: number of level in the mixed layer (used by TOP) … … 39 40 REAL(wp), PUBLIC :: rho_c = 0.01_wp !: density criterion for mixed layer depth 40 41 REAL(wp) :: avt_c = 5.e-4_wp ! Kz criterion for the turbocline depth 42 43 ! Namelist variables for namzdf_mldzint 44 INTEGER :: nn_mld_type ! mixed layer type 45 REAL(wp) :: rn_zref ! depth of initial T_ref 46 REAL(wp) :: rn_dT_crit ! Critical temp diff 47 REAL(wp) :: rn_iso_frac ! Fraction of rn_dT_crit used 41 48 42 49 !!---------------------------------------------------------------------- -
branches/UKMO/dev_r6501_GO6_package_trunk/NEMOGCM/NEMO/OPA_SRC/step.F90
r6503 r6825 236 236 IF( lk_diaar5 ) CALL dia_ar5( kstp ) ! ar5 diag 237 237 IF( lk_diaharm ) CALL dia_harm( kstp ) ! Tidal harmonic analysis 238 CALL dia_prod( kstp ) 238 239 CALL dia_wri( kstp ) ! ocean model: outputs 239 240 !
Note: See TracChangeset
for help on using the changeset viewer.