Changeset 8265 for branches/2016
- Timestamp:
- 2017-06-30T16:43:13+02:00 (7 years ago)
- Location:
- branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/CONFIG/SHARED/field_def.xml
r8238 r8265 27 27 28 28 <!-- SIMIP LIM fields --> 29 <field id="icethic" long_name="Sea-ice thickness" standard_name="sea_ice_thickness" unit="m" /> 30 <field id="icevel" long_name="Sea-ice speed" standard_name="sea_ice_speed" unit="m/s" /> 31 29 <field id="icethic" long_name="Sea-ice thickness" standard_name="sea_ice_thickness" unit="m" /> 30 <field id="uice_mv" long_name="X-component of sea ice velocity" standard_name="sea_ice_x_velocity" unit="m/s" /> 31 <field id="vice_mv" long_name="Y-component of sea ice velocity" standard_name="sea_ice_y_velocity" unit="m/s" /> 32 <field id="icevel_mv" long_name="Sea-ice speed" standard_name="sea_ice_speed" unit="m/s" /> 32 33 <field id="icepres" long_name="Fraction of time steps with sea ice" standard_name="sea_ice_time_fraction" unit="" /> 33 34 <field id="iceconc" long_name="Sea-ice area fraction" standard_name="sea_ice_area_fraction" unit="" /> 34 35 <field id="iceconc_pct" long_name="Sea-ice area fraction in percent" standard_name="sea_ice_area_fraction_in_percent" unit="%" > iceconc * 100. </field > 35 36 <field id="icemass" long_name="Sea-ice mass per area" standard_name="sea_ice_amount" unit="kg/m2" /> 36 <field id="icevolu" long_name="Sea-ice volume per area" standard_name="sea_ice_ volume"unit="m" />37 <field id="icevolu" long_name="Sea-ice volume per area" standard_name="sea_ice_thickness" unit="m" /> 37 38 <field id="snomass" long_name="Snow mass per area" standard_name="liquid_water_content_of_surface_snow" unit="kg/m2" /> 38 <field id="sno wthic"long_name="Snow thickness" standard_name="surface_snow_thickness" unit="m" />39 40 <field id="iceconc_cat " long_name="Sea-ice area fractions in thickness categories"standard_name="sea_ice_area_fraction_over_categories" unit="" grid_ref="grid_T_3D_ncatice" />41 <field id="ice thic_cat" long_name="Sea-ice thickness in thickness categories" standard_name="sea_ice_thickness_over_categories" unit="m" grid_ref="grid_T_3D_ncatice" />42 <field id=" snowthic_cat" long_name="Snow thickness in thickness categories" standard_name="snow_thickness_over_categories"unit="m" grid_ref="grid_T_3D_ncatice" />43 44 <field id="icestK" long_name="ice surface temperature" standard_name="sea_ice_surface_temperature " unit="C" > icest + 273.15 </field > 45 <field id="ices ntK" long_name="Temperature at snow-ice interface" standard_name="sea_ice_snow_interface_temperature" unit="degC" > icesnt + 273.15 </field >46 <field id="ice botK" long_name="Temperature at ice-ocean interface" standard_name="sea_ice_bottom_temperature" unit="degC" > icebot + 273.15 </field>47 <field id="icebotK" long_name="Temperature at ice-ocean interface" standard_name="sea_ice_bottom_temperature" unit=" degC" > icebot + 273.15 </field>48 49 <field id=" miceage"long_name="Age of sea ice" standard_name="age_of_sea_ice" unit="s" />50 <field id=" alb_ice"long_name="Sea-ice or snow albedo" standard_name="sea_ice_albedo" unit="" />39 <field id="snothic" long_name="Snow thickness" standard_name="surface_snow_thickness" unit="m" /> 40 41 <field id="iceconc_cat_mv" long_name="Sea-ice area fractions in thickness categories" standard_name="sea_ice_area_fraction_over_categories" unit="" grid_ref="grid_T_3D_ncatice" /> 42 <field id="iceconc_cat_pct_mv" long_name="Sea-ice area fractions in thickness categories" standard_name="sea_ice_area_fraction_over_categories" unit="%" grid_ref="grid_T_3D_ncatice" > iceconc_cat_mv * 100. </field > 43 <field id="icethic_cat_mv" long_name="Sea-ice thickness in thickness categories" standard_name="sea_ice_thickness_over_categories" unit="m" grid_ref="grid_T_3D_ncatice" /> 44 <field id="snowthic_cat_mv" long_name="Snow thickness in thickness categories" standard_name="snow_thickness_over_categories" unit="m" grid_ref="grid_T_3D_ncatice" /> 45 46 <field id="icestK" long_name="Surface temperature of sea ice" standard_name="sea_ice_surface_temperature" unit="K" /> 47 <field id="icesntK" long_name="Temperature at snow-ice interface" standard_name="sea_ice_snow_interface_temperature" unit="K" /> 48 <field id="icebotK" long_name="Temperature at ice-ocean interface" standard_name="sea_ice_bottom_temperature" unit="K" /> 49 50 <field id="iceage" long_name="Age of sea ice" standard_name="age_of_sea_ice" unit="s" /> 51 <field id="icealb" long_name="Sea-ice or snow albedo" standard_name="sea_ice_albedo" unit="" /> 51 52 <field id="icesmass" long_name="Mass of salt in sea ice per area" standard_name="sea_ice_salt_mass" unit="kg/m2" /> 52 53 <field id="micesalt" long_name="Sea ice salinity" standard_name="sea_ice_salinity" unit="g/kg" /> 53 <field id="icesal" long_name="Sea ice salinity" standard_name="sea_ice_salinity" unit="g/kg" /> 54 54 <field id="icefb" long_name="Sea-ice freeboard" standard_name="sea_ice_freeboard" unit="m" /> 55 55 56 56 <field id="icehcneg" long_name="Sea-ice heat content per unit area" standard_name="integral_of_sea_ice_temperature_wrt_depth_expressed_as_heat_content" unit="J/m2" > (-1.0)*icehc </field> 57 <field id="isnhcneg" long_name="Snow-heat content per unit area" standard_name="thermal_energy_content_of_surface_snow" unit="J/m2" > (-1.0)*isnowhc</field>57 <field id="isnhcneg" long_name="Snow-heat content per unit area" standard_name="thermal_energy_content_of_surface_snow" unit="J/m2" > </field> 58 58 59 59 <field id="wfxsum" long_name="Freshwater flux from sea-ice surface" standard_name="freshwater_flux_from_ice_surface" unit="kg/m2/s" /> … … 78 78 <field id="dmsssi" long_name="snow mass change through snow-to-ice conversion" standard_name="tendency_of_snow_mass_due_to_snow_to_ice_conversion" unit="kg/m2/s" /> 79 79 80 <field id="hfx turneg" long_name="Net sensible heat flux under sea ice" standard_name="ice_ocean_heat_flux" unit="W/m2" > (-1.0)*hfxtur </field>80 <field id="hfxsenso" long_name="Net sensible heat flux under sea ice" standard_name="ice_ocean_heat_flux" unit="W/m2" /> 81 81 <field id="hfxconsu" long_name="Net conductive heat flux in ice at the surface" standard_name="conductive_heat_flux_at_sea_ice_surface" unit="W/m2" /> 82 82 <field id="hfxconbo" long_name="Net conductive heat fluxes in ice at the bottom" standard_name="conductive_heat_flux_at_sea_ice_bottom" unit="W/m2" /> 83 83 84 <field id=" msfx" long_name="Salt flux from sea ice" standard_name="salt_flux_from_ice" unit="kg/m2/s" > sfx/86400000. </field>84 <field id="sfx_mv" long_name="Salt flux from sea ice" standard_name="salt_flux_from_ice" unit="kg/m2/s" /> 85 85 <field id="wfxtot" long_name="Freshwater flux from sea ice" standard_name="freshwater_flux_from_ice" unit="kg/m2/s" /> 86 86 … … 130 130 <field id="uice_ipa" long_name="X-component of sea ice velocity" standard_name="sea_ice_x_velocity" unit="m/s" /> 131 131 <field id="vice_ipa" long_name="Y-component of sea ice velocity" standard_name="sea_ice_y_velocity" unit="m/s" /> 132 <field id="icevel" long_name="Sea-ice speed" standard_name="sea_ice_speed" unit="m/s" /> 132 133 <field id="isst" long_name="sea surface temperature" standard_name="sea_surface_temperature" unit="degC" /> 133 134 <field id="isss" long_name="sea surface salinity" standard_name="sea_surface_salinity" unit="1e-3" /> … … 142 143 <field id="albedo" long_name="Mean albedo over sea ice and ocean" unit="" /> 143 144 145 <field id="iceconc_cat" long_name="Sea-ice area fractions in thickness categories" unit="" grid_ref="grid_T_3D_ncatice" /> 146 <field id="icethic_cat" long_name="Sea-ice thickness in thickness categories" unit="m" grid_ref="grid_T_3D_ncatice" /> 147 <field id="snowthic_cat" long_name="Snow thickness in thickness categories" unit="m" grid_ref="grid_T_3D_ncatice" /> 144 148 <field id="iceage_cat" long_name="Ice age for categories" unit="days" grid_ref="grid_T_3D_ncatice" /> 145 149 <field id="salinity_cat" long_name="Sea-Ice Bulk salinity for categories" unit="g/kg" grid_ref="grid_T_3D_ncatice" /> … … 149 153 150 154 <field id="micet" long_name="Mean ice temperature" unit="degC" /> 155 <field id="miceage" long_name="Age of sea ice" unit="s" /> 156 <field id="micesalt" long_name="Sea ice salinity" unit="g/kg" /> 151 157 <field id="icehc" long_name="ice total heat content" unit="J/m2" /> 152 158 <field id="isnowhc" long_name="snow total heat content" unit="J/m2" /> 153 159 <field id="icest" long_name="ice surface temperature" unit="degC" /> 154 <field id="icesnt" long_name="Temperature at snow-ice interface" unit="degC" />155 <field id="icebot" long_name="Temperature at ice-ocean interface" unit="degC" />156 160 <field id="ibrinv" long_name="brine volume" unit="%" /> 157 161 <field id="icecolf" long_name="frazil ice collection thickness" unit="m" /> … … 300 304 </field_group> 301 305 302 <!-- SIMIP daily fields --> 303 <field_group id="SIday_fields"> 304 <field field_ref="iceconc_pct" name="siconc" /> 305 <field field_ref="snowthic" name="sisnthick" /> 306 <field field_ref="icevel" name="sispeed" /> 307 <field field_ref="icestK" name="sitemptop" /> 308 <field field_ref="icethic" name="sithick" /> 309 <field field_ref="icepres" name="sitimefrac" /> 310 <field field_ref="uice_ipa" name="siu" /> 311 <field field_ref="vice_ipa" name="siv" /> 306 <!-- SIMIP daily fields --> <field_group id="SIday_fields"> 307 <field field_ref="icepres" name="sitimefrac" /> 308 <field field_ref="iceconc_pct" name="siconc" /> 309 <field field_ref="icethic" name="sithick" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 310 <field field_ref="snothic" name="sisnthick" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 311 <field field_ref="icestK" name="sitemptop" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 312 <field field_ref="uice_mv" name="siu" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 313 <field field_ref="vice_mv" name="siv" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 314 <field field_ref="icevel_mv" name="sispeed" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 312 315 </field_group> 313 316 … … 318 321 <field field_ref="iceconc_pct" name="siconc" /> 319 322 <field field_ref="icemass" name="simass" /> 323 <field field_ref="icethic" name="sithick" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 320 324 <field field_ref="icevolu" name="sivol" /> 321 <field field_ref="snomass" name="sisnmass" /> 322 <field field_ref="snowthic" name="sisnthick" /> 323 <field field_ref="icethic" name="sithick" /> 324 <field field_ref="icevel" name="sispeed" /> 325 325 <field field_ref="snomass" name="sisnmass" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 326 <field field_ref="snothic" name="sisnthick" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 327 326 328 <!-- category-dependent fields --> 327 <field field_ref="iceconc_cat " name="siitdconc"/>328 <field field_ref="icethic_cat " name="siitdthick"/>329 <field field_ref="snowthic_cat " name="siitdsnthick"/>329 <field field_ref="iceconc_cat_pct_mv" name="siitdconc" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 330 <field field_ref="icethic_cat_mv" name="siitdthick" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 331 <field field_ref="snowthic_cat_mv" name="siitdsnthick" default_value="-1.0e20" detect_missing_value="true" operation="average"/> 330 332 331 333 <!-- additional state variables--> 332 <field field_ref="icestK" name="sitemptop" /> 333 <field field_ref="icesntK" name="sitempsnic" /> 334 <field field_ref="icebotK" name="sitempbot" /> 335 <field field_ref="miceage" name="siage" /> 336 <field field_ref="alb_ice" name="sialb" /> 334 <field field_ref="icestK" name="sitemptop" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 335 <field field_ref="icesntK" name="sitempsnic" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 336 <field field_ref="icebotK" name="sitempbot" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 337 <field field_ref="iceage" name="siage" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 337 338 <field field_ref="icesmass" name="sisaltmass" /> 338 <field field_ref=" micesalt" name="sisali"/>339 <field field_ref="icefb" name="sifb" />339 <field field_ref="icesal" name="sisali" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 340 <field field_ref="icefb" name="sifb" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 340 341 <field field_ref="icehcneg" name="sihc" /> 341 <field field_ref="isnhcneg" name="sisnhc" />342 <field field_ref="isnhcneg" name="sisnhc" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 342 343 343 344 <!-- freshwater fluxes --> 344 345 <field field_ref="wfxtot" name="siflfwbot" /> 345 <field field_ref="wfxsum" name="siflfwdrain" />346 <field field_ref="wfxsum" name="siflfwdrain" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 346 347 347 348 <!-- area balance --> … … 365 366 366 367 <!-- heat balance --> 367 <field field_ref="hfx turneg" name="siflsensupbot"/>368 <field field_ref="hfxconsu" name="siflcondtop" />369 <field field_ref="hfxconbo" name="siflcondbot" />368 <field field_ref="hfxsenso" name="siflsensupbot" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 369 <field field_ref="hfxconsu" name="siflcondtop" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 370 <field field_ref="hfxconbo" name="siflcondbot" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 370 371 371 372 <!-- salt balance --> 372 <field field_ref=" msfx" name="siflsaltbot"/>373 <field field_ref="sfx_mv" name="siflsaltbot" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 373 374 374 375 <!-- sea-ice dynamics --> 375 <field field_ref="uice_ipa" name="siu" /> 376 <field field_ref="vice_ipa" name="siv" /> 377 378 <field field_ref="utau_ice" name="sistrxdtop" /> 379 <field field_ref="vtau_ice" name="sistrydtop" /> 380 381 <field field_ref="utau_oi" name="sistrxubot" /> 382 <field field_ref="vtau_oi" name="sistryubot" /> 383 384 <field field_ref="icestr" name="sicompstren" /> 385 386 <field field_ref="dssh_dx" name="siforcetiltx" /> 387 <field field_ref="dssh_dy" name="siforcetilty" /> 388 389 <field field_ref="corstrx" name="siforcecoriolx" /> 390 <field field_ref="corstry" name="siforcecorioly" /> 391 392 <field field_ref="intstrx" name="siforceintstrx" /> 393 <field field_ref="intstry" name="siforceintstry" /> 376 <field field_ref="uice_mv" name="siu" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 377 <field field_ref="vice_mv" name="siv" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 378 <field field_ref="icevel_mv" name="sispeed" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 379 380 <field field_ref="utau_ice" name="sistrxdtop" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 381 <field field_ref="vtau_ice" name="sistrydtop" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 382 383 <field field_ref="utau_oi" name="sistrxubot" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 384 <field field_ref="vtau_oi" name="sistryubot" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 385 386 <field field_ref="icestr" name="sicompstren" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 387 388 <field field_ref="dssh_dx" name="siforcetiltx" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 389 <field field_ref="dssh_dy" name="siforcetilty" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 390 391 <field field_ref="corstrx" name="siforcecoriolx" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 392 <field field_ref="corstry" name="siforcecorioly" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 393 394 <field field_ref="intstrx" name="siforceintstrx" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 395 <field field_ref="intstry" name="siforceintstry" default_value="-1.0e20" detect_missing_value="true" operation="average" /> 394 396 395 397 <field field_ref="xmtrptot" name="sidmasstranx" /> -
branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r8183 r8265 117 117 ELSEWHERE ; zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) / SUM( a_i_b, dim=3 ) 118 118 END WHERE 119 IF( iom_use(' alb_ice' ) ) CALL iom_put( "alb_ice" , zalb(:,:) )! ice albedo output119 IF( iom_use('icealb' ) ) CALL iom_put( "icealb" , zalb(:,:) ) ! ice albedo output 120 120 121 121 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + 0.066_wp * ( 1._wp - SUM( a_i_b, dim=3 ) ) -
branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
r8258 r8265 55 55 INTEGER :: ii, ji, jj, jk, jl ! dummy loop indices 56 56 REAL(wp) :: z2da, z2db, ztmp, zrho1, zrho2, zmiss_val 57 REAL(wp), POINTER, DIMENSION(:,:,:) :: zswi2 58 REAL(wp), POINTER, DIMENSION(:,:) :: z2d, zswi !2D workspace59 REAL(wp), POINTER, DIMENSION(:,:) :: zfb ! ice freeboard57 REAL(wp), POINTER, DIMENSION(:,:,:) :: zswi2, zmiss2 58 REAL(wp), POINTER, DIMENSION(:,:) :: z2d, zswi, zmiss ! 2D workspace 59 REAL(wp), POINTER, DIMENSION(:,:) :: zfb ! ice freeboard 60 60 REAL(wp), POINTER, DIMENSION(:,:) :: zamask, zamask15 ! 15% concentration mask 61 REAL(wp), POINTER, DIMENSION(:,:) :: zmiss ! missing value array62 61 63 62 ! Global ice diagnostics (SIMIP) … … 73 72 IF( nn_timing == 1 ) CALL timing_start('limwri') 74 73 75 CALL wrk_alloc( jpi, jpj, jpl, zswi2 )76 CALL wrk_alloc( jpi, jpj , z2d, zswi )74 CALL wrk_alloc( jpi, jpj, jpl, zswi2, zmiss2 ) 75 CALL wrk_alloc( jpi, jpj , z2d, zswi, zmiss ) 77 76 CALL wrk_alloc( jpi, jpj , zfb, zamask, zamask15 ) 78 CALL wrk_alloc( jpi, jpj , zmiss ) 79 80 !----------------------------- 81 ! Missing value array 82 !----------------------------- 83 zmiss_val = -1.0e20 84 zmiss(:,:) = zmiss_val * ( 1. - zswi(:,:) ) 85 86 !----------------------------- 87 ! Mean category values 88 !----------------------------- 77 78 !---------------------------------------- 79 ! Brine volume, switches, missing values 80 !---------------------------------------- 89 81 90 82 ! brine volume … … 110 102 END DO 111 103 END DO 112 ! 104 105 zmiss_val = -1.0e20 106 zmiss(:,:) = zmiss_val * ( 1. - zswi(:,:) ) 107 zmiss2(:,:,:) = zmiss_val * ( 1. - zswi2(:,:,:) ) 108 109 !---------------------------------------- 110 ! Standard outputs 111 !---------------------------------------- 113 112 ! fluxes 114 113 ! pfrld is the lead fraction at the previous time step (actually between TRP and THD) … … 130 129 IF ( iom_use('vice_ipa') ) CALL iom_put( "vice_ipa" , v_ice ) ! ice velocity v component 131 130 132 IF ( ( iom_use( "icevel" ) .OR. ( iom_use( "icevel_mv" ) ) ) THEN131 IF ( ( iom_use( "icevel" ) ) .OR. ( iom_use( "icevel_mv" ) ) ) THEN 133 132 DO jj = 2 , jpjm1 134 133 DO ji = 2 , jpim1 … … 139 138 END DO 140 139 CALL lbc_lnk( z2d, 'T', 1. ) 141 IF ( iom_use( "icevel" ) CALL iom_put( "icevel" , z2d ) ! ice velocity module142 IF ( iom_use( "icevel_mv" ) CALL iom_put( "icevel_mv" , z2d(:,:) * zswi(:,:) + zmiss(:,:)! ice velocity module (missing value)140 IF ( iom_use( "icevel" ) ) CALL iom_put( "icevel" , z2d ) ! ice velocity module 141 IF ( iom_use( "icevel_mv" ) ) CALL iom_put( "icevel_mv" , z2d(:,:) * zswi(:,:) + zmiss(:,:) ) ! ice velocity module (missing value) 143 142 ENDIF 144 ! 143 144 ! other variables 145 145 IF ( iom_use( "miceage" ) ) CALL iom_put( "miceage" , om_i * zswi * zamask15 ) ! mean ice age 146 146 IF ( iom_use( "micet" ) ) CALL iom_put( "micet" , ( tm_i - rt0 ) * zswi ) ! ice mean temperature … … 155 155 CALL iom_put( "isnowhc" , et_s * zswi ) ! snow total heat content 156 156 CALL iom_put( "ibrinv" , bvm_i * zswi * 100. ) ! brine volume 157 CALL iom_put( "utau_ice" , utau_ice*zswi ) ! wind stress over ice along i-axis at I-point158 CALL iom_put( "vtau_ice" , vtau_ice*zswi ) ! wind stress over ice along j-axis at I-point159 157 CALL iom_put( "snowpre" , sprecip * 86400. ) ! snow precipitation 160 158 CALL iom_put( "micesalt" , smt_i * zswi ) ! mean ice salinity 161 159 162 CALL iom_put( "icestr" , strength * zswi ) ! ice strength163 160 CALL iom_put( "idive" , divu_i ) ! divergence 164 161 CALL iom_put( "ishear" , shear_i ) ! shear … … 253 250 IF ( iom_use( "icethic" ) ) CALL iom_put( "icethic" , htm_i(:,:) * zamask(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice thickness 254 251 IF ( iom_use( "snomass" ) ) CALL iom_put( "snomass" , rhosn * vt_s(:,:) * zswi(:,:) + zmiss(:,:) ) ! Snow mass per cell area 255 IF ( iom_use( "snowthic" ) ) CALL iom_put( "snowthic" , htm_s(:,:) * zamask(:,:) * zswi(:,:) + zmiss(:,:) ) ! Snow thickness 256 IF ( iom_use( "icesnt" ) ) CALL iom_put( "icesnt" , ( tm_si(:,:) - rt0 ) * zswi(:,:) + zmiss(:,:) ) ! Snow-ice interface temperature 257 IF ( iom_use( "icebot" ) ) CALL iom_put( "icebot" , ( t_bo(:,:) - rt0 ) * zswi(:,:) + zmiss(:,:) ) ! Ice bottom temperature 258 IF ( iom_use( "iceage_mv") ) CALL iom_put( "iceage_mv" , om_i(:,:) * zamask15(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice age 252 IF ( iom_use( "snothic" ) ) CALL iom_put( "snothic" , htm_s(:,:) * zamask(:,:) * zswi(:,:) + zmiss(:,:) ) ! Snow thickness 253 254 IF ( iom_use( "iceconc_cat_mv" ) ) CALL iom_put( "iceconc_cat_mv" , a_i(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Area for categories 255 IF ( iom_use( "icethic_cat_mv" ) ) CALL iom_put( "icethic_cat_mv" , ht_i(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Thickness for categories 256 IF ( iom_use( "snowthic_cat_mv" ) ) CALL iom_put( "snowthic_cat_mv", ht_s(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Snow depth for categories 257 258 IF ( iom_use( "icestK" ) ) CALL iom_put( "icestK" , tm_su(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice surface temperature 259 IF ( iom_use( "icesntK" ) ) CALL iom_put( "icesntK" , tm_si(:,:) * zswi(:,:) + zmiss(:,:) ) ! Snow-ice interface temperature 260 IF ( iom_use( "icebotK" ) ) CALL iom_put( "icebotK" , t_bo(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice bottom temperature 261 IF ( iom_use( "iceage" ) ) CALL iom_put( "iceage" , om_i(:,:) * zamask15(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice age 259 262 IF ( iom_use( "icesmass" ) ) CALL iom_put( "icesmass" , SUM( smv_i, DIM = 3 ) * rhoic * 1.0e-3 * zswi(:,:) ) ! Mass of salt in sea ice per cell area 260 IF ( iom_use( "icesal _mv") ) CALL iom_put( "icesal_mv", smt_i(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice salinity263 IF ( iom_use( "icesal" ) ) CALL iom_put( "icesal" , smt_i(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice salinity 261 264 262 265 IF ( iom_use( "icefb" ) ) THEN … … 266 269 ENDIF 267 270 268 IF ( iom_use( " snhc_mv" ) ) CALL iom_put( "snhc_mv" , et_s(:,:)* zswi(:,:) + zmiss(:,:) ) ! Snow total heat content271 IF ( iom_use( "isnhcneg" ) ) CALL iom_put( "isnhcneg" , - et_s(:,:) * zswi(:,:) + zmiss(:,:) ) ! Snow total heat content 269 272 270 273 IF ( iom_use( "dmithd" ) ) CALL iom_put( "dmithd" , - wfx_bog - wfx_bom - wfx_sum & ! Sea-ice mass change from thermodynamics … … 287 290 IF ( iom_use( "dmsdyn" ) ) CALL iom_put( "dmsdyn" , diag_dms_dyn ) ! Snow mass change through dynamics 288 291 289 IF ( iom_use( "hfx consu" ) ) CALL iom_put( "hfxsenso" , -fhtur(:,:) * zswi(:,:) + zmiss(:,:) ) ! Sensible oceanic heat flux292 IF ( iom_use( "hfxsenso" ) ) CALL iom_put( "hfxsenso" , -fhtur(:,:) * zswi(:,:) + zmiss(:,:) ) ! Sensible oceanic heat flux 290 293 IF ( iom_use( "hfxconbo" ) ) CALL iom_put( "hfxconbo" , diag_fc_bo * zswi(:,:) + zmiss(:,:) ) ! Bottom conduction flux 291 294 IF ( iom_use( "hfxconsu" ) ) CALL iom_put( "hfxconsu" , diag_fc_su * zswi(:,:) + zmiss(:,:) ) ! Surface conduction flux … … 293 296 IF ( iom_use( "wfxtot" ) ) CALL iom_put( "wfxtot" , wfx_ice(:,:) * zswi(:,:) + zmiss(:,:) ) ! Total freshwater flux from sea ice 294 297 IF ( iom_use( "wfxsum" ) ) CALL iom_put( "wfxsum" , wfx_sum(:,:) * zswi(:,:) + zmiss(:,:) ) ! Freshwater flux from sea-ice surface 295 IF ( iom_use( "sfx_mv" ) ) CALL iom_put( "sfx_mv" , sfx(:,:) 298 IF ( iom_use( "sfx_mv" ) ) CALL iom_put( "sfx_mv" , sfx(:,:) * 0.001 * zswi(:,:) + zmiss(:,:) ) ! Total salt flux 296 299 297 300 IF ( iom_use( "uice_mv" ) ) CALL iom_put( "uice_mv" , u_ice(:,:) * zswi(:,:) + zmiss(:,:) ) ! ice velocity u component … … 307 310 IF ( iom_use( "yatrp" ) ) CALL iom_put( "yatrp" , diag_yatrp(:,:) ) ! Y-component of ice area transport 308 311 309 IF ( iom_use( "utau_ai_mv") ) CALL iom_put( "utau_ai_mv", utau_ice(:,:) * zswi(:,:) + zmiss(:,:) ) ! Wind stress term in force balance (x)310 IF ( iom_use( "vtau_ai_mv") ) CALL iom_put( "vtau_ai_mv", vtau_ice(:,:) * zswi(:,:) + zmiss(:,:) ) ! Wind stress term in force balance (y)312 IF ( iom_use( "utau_ice" ) ) CALL iom_put( "utau_ice" , utau_ice(:,:) * zswi(:,:) + zmiss(:,:) ) ! Wind stress term in force balance (x) 313 IF ( iom_use( "vtau_ice" ) ) CALL iom_put( "vtau_ice" , vtau_ice(:,:) * zswi(:,:) + zmiss(:,:) ) ! Wind stress term in force balance (y) 311 314 312 315 IF ( iom_use( "utau_oi" ) ) CALL iom_put( "utau_oi" , diag_utau_oi(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ocean stress term in force balance (x) 313 316 IF ( iom_use( "vtau_oi" ) ) CALL iom_put( "vtau_oi" , diag_vtau_oi(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ocean stress term in force balance (y) 314 317 315 IF ( iom_use( "icestr _mv") ) CALL iom_put( "icestr_mv", strength(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice strength318 IF ( iom_use( "icestr" ) ) CALL iom_put( "icestr" , strength(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice strength 316 319 317 320 IF ( iom_use( "dssh_dx" ) ) CALL iom_put( "dssh_dx" , diag_dssh_dx(:,:) * zswi(:,:) + zmiss(:,:) ) ! Sea-surface tilt term in force balance (x) … … 377 380 ! not yet implemented 378 381 379 CALL wrk_dealloc( jpi, jpj, jpl, zswi2 )380 CALL wrk_dealloc( jpi, jpj , z2d, zswi )382 CALL wrk_dealloc( jpi, jpj, jpl, zswi2, zmiss2 ) 383 CALL wrk_dealloc( jpi, jpj , z2d, zswi, zmiss ) 381 384 CALL wrk_dealloc( jpi, jpj , zfb, zamask, zamask15 ) 382 CALL wrk_dealloc( jpi, jpj , zmiss )383 385 384 386 IF( nn_timing == 1 ) CALL timing_stop('limwri')
Note: See TracChangeset
for help on using the changeset viewer.