Changeset 3609
- Timestamp:
- Feb 5, 2025, 2:55:26 PM (6 days ago)
- Location:
- trunk/LMDZ.COMMON/libf/evolution
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/changelog.txt
r3608 r3609 569 569 == 03/02/2025 == JBC 570 570 Rescaling the pressure deviation to avoid disproportionate oscillations in case of huge average pressure drop. 571 572 == 05/02/2025 == JBC 573 - Simplification of "read_data_PCM_mod.F90" to treat the cases with/without slope. 574 - Few bug corrections related to 1D. -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3608 r3609 84 84 use mod_phys_lmdz_para, only: is_parallel, is_sequential, is_mpi_root, is_omp_root, is_master 85 85 use planete_h, only: aphelie, periheli, year_day, peri_day, obliquit, iniorbit 86 use comcstfi_h, only: mugaz 86 use comcstfi_h, only: mugaz, r 87 87 use surfini_mod, only: surfini 88 use comconst_mod, only: pi, rad, g, r,cpp, kappa88 use comconst_mod, only: pi, rad, g, cpp, kappa 89 89 #else 90 90 use tracer_h, only: noms, igcm_h2o_ice, igcm_co2 ! Tracer names … … 406 406 407 407 write(*,*) '> Reading "start1D.txt" and "startfi.nc"' 408 call init_testphys1d('start1D.txt','startfi.nc',therestart1D,therestartfi,ngrid,nlayer,610.,nq,q, &409 time_0,pdyn ,ucov,vcov,teta,ndt,ptif,pks,dtphys,zqsat,dq,dqdyn,day0,day,gru,grv,w, &408 call init_testphys1d('start1D.txt','startfi.nc',therestart1D,therestartfi,ngrid,nlayer,610.,nq,q, & 409 time_0,pdyn(1),ucov,vcov,teta,ndt,ptif,pks,dtphys,zqsat,dq,dqdyn,day0,day,gru,grv,w, & 410 410 play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau) 411 411 nsplit_phys = 1 … … 857 857 ! II_d.3 Update soil temperature 858 858 write(*,*)"> Updating soil temperature profile" 859 allocate(tsoil_avg_old(ngrid,nsoilmx_PEM))860 859 do islope = 1,nslope 861 860 tsoil_avg_old = tsoil_PEM(:,:,islope) … … 866 865 do ig = 1,ngrid 867 866 do isoil = 1,nsoilmx_PEM 868 ! Update of soil temperature timeseries which is needed to compute the water soil density timeseries869 tsoil_PEM_timeseries(ig,isoil,islope,t) = tsoil_PEM_timeseries(ig,isoil,islope,t)*tsoil_PEM(ig,isoil,islope)/tsoil_avg_old(ig,isoil)870 ! Update of watersoil density867 ! Update of soil temperature timeseries which is needed to compute the water soil density timeseries 868 tsoil_PEM_timeseries(ig,isoil,islope,t) = tsoil_PEM_timeseries(ig,isoil,islope,t)*tsoil_PEM(ig,isoil,islope)/tsoil_avg_old(ig,isoil) 869 ! Update of watersoil density 871 870 watersoil_density_PEM_timeseries(ig,isoil,islope,t) = exp(beta_clap_h2o/tsoil_PEM_timeseries(ig,isoil,islope,t) + alpha_clap_h2o)/tsoil_PEM_timeseries(ig,isoil,islope,t)*mmol(igcm_h2o_vap)/(mugaz*r) 872 871 if (isnan(tsoil_PEM(ig,isoil,islope))) call abort_pem("PEM - Update Tsoil","NaN detected in tsoil_PEM",1) -
trunk/LMDZ.COMMON/libf/evolution/read_data_PCM_mod.F90
r3603 r3609 52 52 real, dimension(ngrid,nsoilmx,nslope,timelen), intent(out) :: watersoil_density_timeseries ! Water density timeseries in the soil layer [kg/m^3] 53 53 ! Local variables 54 integer :: i, j, l, islope ! Loop variables 55 real :: A, B ! Intermediate variables to compute the mean molar mass of the layer 56 character(2) :: num ! For reading sloped variables 57 54 integer :: i, j, l, islope ! Loop variables 55 real :: A, B ! Intermediate variables to compute the mean molar mass of the layer 56 character(:), allocatable :: num ! For reading sloped variables 58 57 real, dimension(:,:), allocatable :: var2_read ! Variables for reading (2 dimensions) 59 58 real, dimension(:,:,:), allocatable :: var3_read_1, var3_read_2, var3_read_3 ! Variables for reading (3 dimensions) … … 69 68 allocate(var2_read(iim_input + 1,jjm_input + 1),var3_read_1(iim_input + 1,jjm_input + 1,timelen),var3_read_2(iim_input + 1,jjm_input + 1,timelen)) 70 69 71 if (nslope == 1) then ! There is no slope 70 if (nslope == 1) then ! No slope 71 allocate(character(0) :: num) 72 else ! We use slopes 73 allocate(character(8) :: num) 74 endif 75 76 do islope = 1,nslope 77 if (nslope /= 1) then 78 write(num,'(i2.2)') islope 79 num = '_slope'//num 80 endif 81 72 82 ! CO2 ice 73 83 !-------- 74 call get_var3("co2ice" ,var3_read_1)84 call get_var3("co2ice"//num,var3_read_1) 75 85 where (var3_read_1 < 0.) var3_read_1 = 0. 76 write(*,*) "Data for co2_ice downloaded."86 write(*,*) "Data for co2_ice"//num//" downloaded." 77 87 #ifndef CPP_STD 78 call get_var3("perennial_co2ice" ,var3_read_2)79 write(*,*) "Data for perennial_co2ice downloaded."88 call get_var3("perennial_co2ice"//num,var3_read_2) 89 write(*,*) "Data for perennial_co2ice"//num//" downloaded." 80 90 #endif 81 91 … … 83 93 var2_read = minval(var3_read_1 + var3_read_2,3) 84 94 #ifndef CPP_1D 85 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_co2_ice(:, 1,1))86 #else 87 min_co2_ice(1, 1,1) = var2_read(1,1)88 #endif 89 write(*,*) "Min of co2_ice computed."95 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_co2_ice(:,islope,1)) 96 #else 97 min_co2_ice(1,islope,1) = var2_read(1,1) 98 #endif 99 write(*,*) "Min of co2_ice"//num//" computed." 90 100 91 101 ! H2O ice 92 102 !-------- 93 call get_var3("h2o_ice_s" ,var3_read_1)103 call get_var3("h2o_ice_s"//num,var3_read_1) 94 104 where (var3_read_1 < 0.) var3_read_1 = 0. 95 write(*,*) "Data for h2o_ice_s downloaded."105 write(*,*) "Data for h2o_ice_s"//num//" downloaded." 96 106 #ifndef CPP_STD 97 call get_var3("watercap" ,var3_read_2)98 write(*,*) "Data for watercap downloaded."107 call get_var3("watercap"//num,var3_read_2) 108 write(*,*) "Data for watercap"//num//" downloaded." 99 109 #endif 100 110 … … 102 112 var2_read = minval(var3_read_1 + var3_read_2,3) 103 113 #ifndef CPP_1D 104 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_h2o_ice(:, 1,1))105 #else 106 min_h2o_ice(1, 1,1) = var2_read(1,1)107 #endif 108 write(*,*) "Min of h2o_ice computed."114 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_h2o_ice(:,islope,1)) 115 #else 116 min_h2o_ice(1,islope,1) = var2_read(1,1) 117 #endif 118 write(*,*) "Min of h2o_ice"//num//" computed." 109 119 110 120 ! Tsurf 111 121 !------ 112 call get_var3("tsurf" ,var3_read_1)113 write(*,*) "Data for tsurf downloaded."122 call get_var3("tsurf"//num,var3_read_1) 123 write(*,*) "Data for tsurf"//num//" downloaded." 114 124 115 125 ! Compute average over the year for each point 116 126 var2_read = sum(var3_read_1,3)/timelen 117 127 #ifndef CPP_1D 118 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,tsurf_avg_yr1(:,1)) 119 #else 120 tsurf_avg_yr1(1,1) = var2_read(1,1) 121 #endif 122 write(*,*) "Average of tsurf computed." 123 else ! We use slopes 124 do islope = 1,nslope 125 write(num,'(i2.2)') islope 126 127 ! CO2 ice 128 !-------- 129 call get_var3("co2ice_slope"//num,var3_read_1) 130 where (var3_read_1 < 0.) var3_read_1 = 0. 131 write(*,*) "Data for co2_ice_slope"//num//" downloaded." 132 #ifndef CPP_STD 133 call get_var3("perennial_co2ice_slope"//num,var3_read_2) 134 write(*,*) "Data for perennial_co2ice_slope"//num//" downloaded." 135 #endif 136 137 ! Compute the minimum over the year for each point 138 var2_read = minval(var3_read_1 + var3_read_2,3) 139 #ifndef CPP_1D 140 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_co2_ice(:,islope,1)) 141 #else 142 min_co2_ice(1,islope,1) = var2_read(1,1) 143 #endif 144 write(*,*) "Min of co2_ice computed for slope "//num//"." 145 146 ! H2O ice 147 !-------- 148 call get_var3("h2o_ice_s_slope"//num,var3_read_1) 149 where (var3_read_1 < 0.) var3_read_1 = 0. 150 write(*,*) "Data for h2o_ice_s_slope"//num//" downloaded." 151 #ifndef CPP_STD 152 call get_var3("watercap_slope"//num,var3_read_2) 153 write(*,*) "Data for watercap_slope"//num//" downloaded." 154 #endif 155 156 ! Compute the minimum over the year for each point 157 var2_read = minval(var3_read_1 + var3_read_2,3) 158 #ifndef CPP_1D 159 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_h2o_ice(:,islope,1)) 160 #else 161 min_h2o_ice(1,islope,1) = var2_read(1,1) 162 #endif 163 write(*,*) "Min of h2o_ice computed for slope "//num//"." 164 165 ! Tsurf 166 !------ 167 call get_var3("tsurf_slope"//num,var3_read_1) 168 write(*,*) "Data for tsurf_slope"//num//" downloaded." 169 170 ! Compute average over the year for each point 171 var2_read = sum(var3_read_1,3)/timelen 172 #ifndef CPP_1D 173 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,tsurf_avg_yr1(:,islope)) 174 #else 175 tsurf_avg_yr1(1,islope) = var2_read(1,1) 176 #endif 177 write(*,*) "Average of tsurf computed for slope "//num//"." 178 enddo 179 endif 128 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,tsurf_avg_yr1(:,islope)) 129 #else 130 tsurf_avg_yr1(1,islope) = var2_read(1,1) 131 #endif 132 write(*,*) "Average of tsurf"//num//" computed." 133 enddo 180 134 181 135 ! Close the NetCDF file … … 202 156 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,ps_avg) 203 157 #else 204 ps_timeseries(1,:) = var3_read_1(1, :)158 ps_timeseries(1,:) = var3_read_1(1,1,:) 205 159 ps_avg(1) = var2_read(1,1) 206 160 #endif … … 240 194 write(*,*) "Data for H2O vmr downloaded." 241 195 242 if (nslope == 1) then ! There is no slope 196 do islope = 1,nslope 197 if (nslope /= 1) then 198 write(num,'(i2.2)') islope 199 num = '_slope'//num 200 endif 201 243 202 ! CO2 ice 244 203 !-------- 245 call get_var3("co2ice" ,var3_read_1)204 call get_var3("co2ice"//num,var3_read_1) 246 205 where (var3_read_1 < 0.) var3_read_1 = 0. 247 write(*,*) "Data for co2_ice downloaded."206 write(*,*) "Data for co2_ice"//num//" downloaded." 248 207 #ifndef CPP_STD 249 call get_var3("perennial_co2ice" ,var3_read_2)250 write(*,*) "Data for perennial_co2ice downloaded."208 call get_var3("perennial_co2ice"//num,var3_read_2) 209 write(*,*) "Data for perennial_co2ice"//num//" downloaded." 251 210 #endif 252 211 … … 254 213 var2_read = minval(var3_read_1 + var3_read_2,3) 255 214 #ifndef CPP_1D 256 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_co2_ice(:, 1,1))257 #else 258 min_co2_ice(1, 1,1) = var2_read(1,1)259 #endif 260 write(*,*) "Min of co2_ice computed."215 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_co2_ice(:,islope,2)) 216 #else 217 min_co2_ice(1,islope,2) = var2_read(1,1) 218 #endif 219 write(*,*) "Min of co2_ice"//num//" computed." 261 220 262 221 ! H2O ice 263 222 !-------- 264 call get_var3("h2o_ice_s" ,var3_read_1)223 call get_var3("h2o_ice_s"//num,var3_read_1) 265 224 where (var3_read_1 < 0.) var3_read_1 = 0. 266 write(*,*) "Data for h2o_ice_s downloaded."225 write(*,*) "Data for h2o_ice_s"//num//" downloaded." 267 226 #ifndef CPP_STD 268 call get_var3("watercap" ,var3_read_2)269 write(*,*) "Data for watercap downloaded."227 call get_var3("watercap"//num,var3_read_2) 228 write(*,*) "Data for watercap"//num//" downloaded." 270 229 #endif 271 230 … … 273 232 var2_read = minval(var3_read_1 + var3_read_2,3) 274 233 #ifndef CPP_1D 275 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_h2o_ice(:, 1,1))276 #else 277 min_h2o_ice(1, 1,1) = var2_read(1,1)278 #endif 279 write(*,*) "Min of h2o_ice computed."234 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_h2o_ice(:,islope,2)) 235 #else 236 min_h2o_ice(1,islope,2) = var2_read(1,1) 237 #endif 238 write(*,*) "Min of h2o_ice"//num//" computed." 280 239 281 240 ! Tsurf 282 241 !------ 283 call get_var3("tsurf" ,var3_read_1)284 write(*,*) "Data for tsurfdownloaded."242 call get_var3("tsurf"//num,var3_read_1) 243 write(*,*) "Data for tsurf"//num//" downloaded." 285 244 286 245 ! Compute average over the year for each point 287 246 var2_read = sum(var3_read_1,3)/timelen 288 247 #ifndef CPP_1D 289 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,tsurf_avg _yr1(:,1))290 #else 291 tsurf_avg _yr1(1,1) = var2_read(1,1)292 #endif 293 write(*,*) "Average of tsurf computed."248 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,tsurf_avg(:,islope)) 249 #else 250 tsurf_avg(1,islope) = var2_read(1,1) 251 #endif 252 write(*,*) "Average of tsurf"//num//" computed." 294 253 295 254 if (soil_pem) then 296 255 ! Tsoil 297 256 !------ 298 call get_var4("soiltemp" ,var4_read)299 write(*,*) "Data for soiltemp downloaded."257 call get_var4("soiltemp"//num,var4_read) 258 write(*,*) "Data for soiltemp"//num//" downloaded." 300 259 301 260 ! Compute average over the year for each point … … 303 262 #ifndef CPP_1D 304 263 do l = 1,nsoilmx 305 call gr_dyn_fi(timelen,iim_input + 1,jjm_input + 1,ngrid,var4_read(:,:,l,:),tsoil_timeseries(:,l, 1,:))264 call gr_dyn_fi(timelen,iim_input + 1,jjm_input + 1,ngrid,var4_read(:,:,l,:),tsoil_timeseries(:,l,islope,:)) 306 265 enddo 307 call gr_dyn_fi(nsoilmx,iim_input + 1,jjm_input + 1,ngrid,var3_read_3,tsoil_avg(:,:, 1))308 #else 309 tsoil_timeseries(1,:, 1,:) = var4_read(1,1,:,:)310 tsoil_avg(1,:, 1) = var3_read_3(1,:,1)311 #endif 312 write(*,*) "Average of tsoil computed."266 call gr_dyn_fi(nsoilmx,iim_input + 1,jjm_input + 1,ngrid,var3_read_3,tsoil_avg(:,:,islope)) 267 #else 268 tsoil_timeseries(1,:,islope,:) = var4_read(1,1,:,:) 269 tsoil_avg(1,:,islope) = var3_read_3(1,1,:) 270 #endif 271 write(*,*) "Average of tsoil"//num//" computed." 313 272 314 273 ! Soil water density 315 274 !------------------- 316 call get_var4("waterdensity_soil" ,var4_read)275 call get_var4("waterdensity_soil"//num,var4_read) 317 276 #ifndef CPP_1D 318 277 do l = 1,nsoilmx 319 call gr_dyn_fi(timelen,iim_input + 1,jjm_input + 1,ngrid,var4_read(:,:,l,:),watersoil_density_timeseries(:,l, 1,:))278 call gr_dyn_fi(timelen,iim_input + 1,jjm_input + 1,ngrid,var4_read(:,:,l,:),watersoil_density_timeseries(:,l,islope,:)) 320 279 enddo 321 280 #else 322 watersoil_density_timeseries(1,:, 1,:) = var4_read(1,1,:,:)323 #endif 324 write(*,*) "Data for waterdensity_soil downloaded."281 watersoil_density_timeseries(1,:,islope,:) = var4_read(1,1,:,:) 282 #endif 283 write(*,*) "Data for waterdensity_soil"//num//" downloaded." 325 284 326 285 ! Surface water density 327 286 !---------------------- 328 call get_var3("waterdensity_surface" ,var3_read_1)329 write(*,*) "Data for waterdensity_surface downloaded."287 call get_var3("waterdensity_surface"//num,var3_read_1) 288 write(*,*) "Data for waterdensity_surface"//num//" downloaded." 330 289 331 290 ! Compute average over the year for each point 332 291 var2_read = sum(var3_read_1,3)/timelen 333 292 #ifndef CPP_1D 334 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,watersurf_density_avg(:, 1))335 #else 336 watersurf_density_avg(1, 1) = var2_read(1,1)337 #endif 338 write(*,*) "Average of waterdensity_surface computed."293 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,watersurf_density_avg(:,islope)) 294 #else 295 watersurf_density_avg(1,islope) = var2_read(1,1) 296 #endif 297 write(*,*) "Average of waterdensity_surface"//num//" computed." 339 298 endif 340 else ! We use slopes 341 do islope = 1,nslope 342 write(num,'(i2.2)') islope 343 344 ! CO2 ice 345 !-------- 346 call get_var3("co2ice_slope"//num,var3_read_1) 347 where (var3_read_1 < 0.) var3_read_1 = 0. 348 write(*,*) "Data for co2_ice_slope"//num//" downloaded." 349 #ifndef CPP_STD 350 call get_var3("perennial_co2ice_slope"//num,var3_read_2) 351 write(*,*) "Data for perennial_co2ice_slope"//num//" downloaded." 352 #endif 353 354 ! Compute the minimum over the year for each point 355 var2_read = minval(var3_read_1 + var3_read_2,3) 356 #ifndef CPP_1D 357 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_co2_ice(:,islope,2)) 358 #else 359 min_co2_ice(1,islope,2) = var2_read(1,1) 360 #endif 361 write(*,*) "Min of co2_ice computed for slope "//num//"." 362 363 ! H2O ice 364 !-------- 365 call get_var3("h2o_ice_s_slope"//num,var3_read_1) 366 where (var3_read_1 < 0.) var3_read_1 = 0. 367 write(*,*) "Data for h2o_ice_s_slope"//num//" downloaded." 368 #ifndef CPP_STD 369 call get_var3("watercap_slope"//num,var3_read_2) 370 write(*,*) "Data for watercap_slope"//num//" downloaded." 371 #endif 372 373 ! Compute the minimum over the year for each point 374 var2_read = minval(var3_read_1 + var3_read_2,3) 375 #ifndef CPP_1D 376 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,min_h2o_ice(:,islope,2)) 377 #else 378 min_h2o_ice(1,islope,2) = var2_read(1,1) 379 #endif 380 write(*,*) "Min of h2o_ice computed for slope "//num//"." 381 382 ! Tsurf 383 !------ 384 call get_var3("tsurf_slope"//num,var3_read_1) 385 write(*,*) "Data for tsurf_slope"//num//" downloaded." 386 387 ! Compute average over the year for each point 388 var2_read = sum(var3_read_1,3)/timelen 389 #ifndef CPP_1D 390 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,tsurf_avg(:,islope)) 391 #else 392 tsurf_avg(1,islope) = var2_read(1,1) 393 #endif 394 write(*,*) "Average of tsurf computed for slope "//num//"." 395 396 if (soil_pem) then 397 ! Tsoil 398 !------ 399 call get_var4("soiltemp_slope"//num,var4_read) 400 write(*,*) "Data for soiltemp_slope"//num//" downloaded." 401 402 ! Compute average over the year for each point 403 var3_read_3 = sum(var4_read,4)/timelen 404 #ifndef CPP_1D 405 do l = 1,nsoilmx 406 call gr_dyn_fi(timelen,iim_input + 1,jjm_input + 1,ngrid,var4_read(:,:,l,:),tsoil_timeseries(:,l,islope,:)) 407 enddo 408 call gr_dyn_fi(nsoilmx,iim_input + 1,jjm_input + 1,ngrid,var3_read_3,tsoil_avg(:,:,islope)) 409 #else 410 tsoil_timeseries(1,:,islope,:) = var4_read(1,1,:,:) 411 tsoil_avg(1,:,islope) = var3_read_3(1,:,1) 412 #endif 413 write(*,*) "Average of tsoil computed for slope "//num//"." 414 415 ! Soil water density 416 !------------------- 417 call get_var4("waterdensity_soil_slope"//num,var4_read) 418 #ifndef CPP_1D 419 do l = 1,nsoilmx 420 call gr_dyn_fi(timelen,iim_input + 1,jjm_input + 1,ngrid,var4_read(:,:,l,:),watersoil_density_timeseries(:,l,islope,:)) 421 enddo 422 #else 423 watersoil_density_timeseries(1,:,islope,:) = var4_read(1,1,:,:) 424 #endif 425 write(*,*) "Data for waterdensity_soil_slope"//num//" downloaded." 426 427 ! Surface water density 428 !---------------------- 429 call get_var3("waterdensity_surface"//num,var3_read_1) 430 write(*,*) "Data for waterdensity_surface"//num//" downloaded." 431 432 ! Compute average over the year for each point 433 var2_read = sum(var3_read_1,3)/timelen 434 #ifndef CPP_1D 435 call gr_dyn_fi(1,iim_input + 1,jjm_input + 1,ngrid,var2_read,watersurf_density_avg(:,islope)) 436 #else 437 watersurf_density_avg(1,islope) = var2_read(1,1) 438 #endif 439 write(*,*) "Average of waterdensity_surface computed for slope "//num//"." 440 endif 441 enddo 442 endif 443 deallocate(var2_read,var3_read_1,var3_read_2,var3_read_3,var4_read) 299 enddo 300 deallocate(var2_read,var3_read_1,var3_read_2,var3_read_3,var4_read,num) 444 301 445 302 ! Close the NetCDF file
Note: See TracChangeset
for help on using the changeset viewer.