Changeset 4856
- Timestamp:
- Mar 19, 2024, 7:51:51 PM (7 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/create_etat0_unstruct_mod.F90
r4847 r4856 1 1 MODULE create_etat0_unstruct_mod 2 2 3 4 5 3 REAL, SAVE, ALLOCATABLE :: zmea_gw(:) 4 !$OMP THREADPRIVATE(zmea_gw) 5 REAL, SAVE, ALLOCATABLE :: zpic_gw(:) 6 !$OMP THREADPRIVATE(zpic_gw) 7 REAL, SAVE, ALLOCATABLE :: zval_gw(:) 8 !$OMP THREADPRIVATE(zval_gw) 9 REAL, SAVE, ALLOCATABLE :: zstd_gw(:) 10 !$OMP THREADPRIVATE(zstd_gw) 11 REAL, SAVE, ALLOCATABLE :: zsig_gw(:) 12 !$OMP THREADPRIVATE(zsig_gw) 13 REAL, SAVE, ALLOCATABLE :: zgam_gw(:) 14 !$OMP THREADPRIVATE(zgam_gw) 15 REAL, SAVE, ALLOCATABLE :: zthe_gw(:) 16 !$OMP THREADPRIVATE(zthe_gw) 17 18 PRIVATE zmea_gw, zpic_gw, zval_gw, zstd_gw, zsig_gw, zgam_gw, zthe_gw 6 19 7 20 … … 41 54 42 55 56 SUBROUTINE init_param_gw(zmea, zpic, zval, zstd, zsig, zgam, zthe) 57 USE dimphy 58 REAL, INTENT(IN) :: zmea(klon) 59 REAL, INTENT(IN) :: zpic(klon) 60 REAL, INTENT(IN) :: zval(klon) 61 REAL, INTENT(IN) :: zstd(klon) 62 REAL, INTENT(IN) :: zsig(klon) 63 REAL, INTENT(IN) :: zgam(klon) 64 REAL, INTENT(IN) :: zthe(klon) 65 66 ALLOCATE(zmea_gw(klon), zpic_gw(klon), zval_gw(klon), zstd_gw(klon), zsig_gw(klon), zgam_gw(klon), zthe_gw(klon)) 67 68 zmea_gw(:)=zmea(:) 69 zpic_gw(:)=zpic(:) 70 zval_gw(:)=zval(:) 71 zstd_gw(:)=zstd(:) 72 zsig_gw(:)=zsig(:) 73 zgam_gw(:)=zgam(:) 74 zthe_gw(:)=zthe(:) 75 76 END SUBROUTINE init_param_gw 77 78 79 80 43 81 SUBROUTINE create_etat0_unstruct 44 82 USE dimphy … … 57 95 IMPLICIT NONE 58 96 INCLUDE 'dimsoil.h' 97 include "clesphys.h" 59 98 60 99 LOGICAL :: no_ter_antartique ! If true, no land points are allowed at Antartic … … 66 105 REAL, DIMENSION(klon) :: fder 67 106 68 REAL, DIMENSION(klon,nbsrf) :: qs olsrf, snsrf107 REAL, DIMENSION(klon,nbsrf) :: qsurf, snsrf 69 108 REAL, DIMENSION(klon,nsoilmx,nbsrf) :: tsoil 70 109 … … 74 113 REAL, DIMENSION(klon_mpi,nbsrf) :: pctsrf_mpi 75 114 115 INCLUDE "compbl.h" 116 INCLUDE "alpale.h" 117 76 118 INTEGER :: ji,j,i 77 119 120 121 !--- Initial atmospheric CO2 conc. from .def file 122 co2_ppm0 = co2_ppm 123 78 124 IF (is_omp_master) THEN 79 125 CALL xios_recv_field("ts",tsol_mpi) … … 81 127 CALL xios_recv_field("mask",zmasq_mpi) 82 128 IF (landice_opt .LT. 2) CALL xios_recv_field("landice",lic_mpi) 83 CALL xios_recv_field("zmea",zmea_mpi)84 CALL xios_recv_field("zstd",zstd_mpi)85 CALL xios_recv_field("zsig",zsig_mpi)86 CALL xios_recv_field("zgam",zgam_mpi)87 CALL xios_recv_field("zthe",zthe_mpi)88 129 ENDIF 89 130 CALL scatter_omp(tsol_mpi,tsol) … … 91 132 CALL scatter_omp(zmasq_mpi,zmasq) 92 133 IF (landice_opt .LT. 2) CALL scatter_omp(lic_mpi,lic) 93 CALL scatter_omp(zmea_mpi,zmea)94 CALL scatter_omp(zstd_mpi,zstd)95 CALL scatter_omp(zsig_mpi,zsig)96 CALL scatter_omp(zgam_mpi,zgam)97 CALL scatter_omp(zthe_mpi,zthe)98 134 99 135 radsol(:) = 0.0 … … 166 202 WHERE(pctsrf(:,is_oce)<EPSFRA) pctsrf(:,is_oce)=0. 167 203 168 zval(:)=max(0.,zmea-2*zstd(:))169 zpic(:)=zmea+2*zstd(:)204 ! zval(:)=max(0.,zmea-2*zstd(:)) 205 ! zpic(:)=zmea+2*zstd(:) 170 206 171 207 !! WARNING DON'T FORGET FOR LATER … … 192 228 !ym probably the uninitialized value was 0 for standard (regular grid) case 193 229 falb_dif(:,:,:)=0 194 230 u10m(:,:)=0 231 v10m(:,:)=0 232 treedrg(:,:,:)=0 195 233 !albedo SB <<< 196 234 fevap(:,:) = 0. 197 DO i=1,nbsrf 198 qsolsrf(:,i)=150. 199 END DO 200 235 qsurf = 0. 236 201 237 DO i=1,nbsrf 202 238 DO j=1,nsoilmx … … 207 243 rain_fall = 0.; snow_fall = 0. 208 244 solsw = 165.; sollw = -53. 245 solswfdiff = 1. 209 246 !ym warning missing init for sollwdown => set to 0 210 247 sollwdown = 0. … … 215 252 v_ancien=0 216 253 q_ancien = 0. 254 ql_ancien = 0. 255 qs_ancien = 0. 256 prlw_ancien = 0. 257 prsw_ancien = 0. 258 prw_ancien = 0. 217 259 agesno = 0. 218 260 261 wake_delta_pbl_TKE(:,:,:)=0 262 wake_dens(:)=0 263 awake_dens = 0. 264 cv_gen = 0. 265 ale_bl = 0. 266 ale_bl_trig =0. 267 alp_bl=0. 268 ale_wake=0. 269 ale_bl_stat=0. 270 271 z0m(:,:)=0 ! ym missing 5th subsurface initialization 219 272 z0m(:,is_oce) = rugmer(:) 220 221 z0m(:,is_ter) = 0.01 ! MAX(1.0e-05,zstd(:)*zsig(:)/2.0) 222 z0m(:,is_lic) = 0.001 !MAX(1.0e-05,zstd(:)*zsig(:)/2.0) 223 224 z0m(:,is_sic) = 0.001 225 z0h(:,:)=z0m(:,:) 273 z0m(:,is_ter) = 0.01 ! MAX(1.0e-05,zstd(:)*zsig(:)/2.0) 274 z0m(:,is_lic) = 0.001 !MAX(1.0e-05,zstd(:)*zsig(:)/2.0) 275 z0m(:,is_sic) = 0.001 276 z0h(:,:)=z0m(:,:) 226 277 227 278 fder = 0.0 … … 249 300 entr_therm = 0. 250 301 detr_therm = 0. 251 ale_bl = 0. 252 ale_bl_trig =0. 253 alp_bl =0. 254 ale_wake = 0. 302 awake_s = 0. 303 255 304 CALL fonte_neige_init(run_off_lic_0) 256 CALL pbl_surface_init( fder, snsrf, qsolsrf, tsoil ) 305 CALL pbl_surface_init( fder, snsrf, qsurf, tsoil ) 306 307 IF (iflag_pbl>1 .AND. iflag_wake>=1 .AND. iflag_pbl_split >=1) then 308 delta_tsurf = 0. 309 beta_aridity = 0. 310 END IF 311 ratqs_inter_ = 0.002 312 rneb_ancien = 0. 257 313 258 314 CALL gather_omp(cell_area,cell_area_mpi) … … 264 320 ENDIF 265 321 322 zmea(:) = zmea_gw(:) 323 zpic(:) = zpic_gw(:) 324 zval(:) = zval_gw(:) 325 zstd(:) = zstd_gw(:) 326 zsig(:) = zsig_gw(:) 327 zgam(:) = zgam_gw(:) 328 zthe(:) = zthe_gw(:) 329 DEALLOCATE(zmea_gw, zpic_gw, zval_gw, zstd_gw, zsig_gw, zgam_gw, zthe_gw) 330 266 331 CALL phyredem( "startphy.nc" ) 267 332
Note: See TracChangeset
for help on using the changeset viewer.