- Timestamp:
- Feb 19, 2011, 1:40:07 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
r67 r70 209 209 !************************************************** 210 210 ! IMPORTANT: pour travailler avec grid nesting 211 ! une dimension supplementaire liee au nest 211 ! --- deux comportements distincts du save 212 ! ... ex1: ferme planeto avec PGF+MPI: standard 213 ! ... ex2: iDataPlex avec IFORT+MPI: SPECIAL_NEST_SAVE 212 214 !************************************************** 215 #ifdef SPECIAL_NEST_SAVE 216 ! une dimension supplementaire liee au nest 213 217 REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: & 214 218 dp_save … … 217 221 REAL, DIMENSION(:,:,:,:), ALLOCATABLE, SAVE :: & 218 222 dq_save 223 #else 224 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: & 225 dp_save 226 REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: & 227 du_save, dv_save, dt_save 228 REAL, DIMENSION(:,:,:), ALLOCATABLE, SAVE :: & 229 dq_save 230 #endif 219 231 220 232 !!!IDEALIZED IDEALIZED … … 327 339 !firstcall=.false. ! just in case you'd want to get rid of the physics 328 340 test=0 329 341 #ifdef SPECIAL_NEST_SAVE 330 342 PRINT *, 'ALLOCATED dp_save ???', ALLOCATED( dp_save ), id 331 343 IF( .NOT. ALLOCATED( dp_save ) ) THEN … … 343 355 dq_save(:,:,:,:)=0. 344 356 ENDIF 345 357 #else 358 ALLOCATE(dp_save(ngrid)) !! here are the arrays that would be useful to save physics tendencies 359 ALLOCATE(du_save(ngrid,nlayer)) 360 ALLOCATE(dv_save(ngrid,nlayer)) 361 ALLOCATE(dt_save(ngrid,nlayer)) 362 ALLOCATE(dq_save(ngrid,nlayer,nq)) 363 dp_save(:)=0. !! initialize these arrays ... 364 du_save(:,:)=0. 365 dv_save(:,:)=0. 366 dt_save(:,:)=0. 367 dq_save(:,:,:)=0. 368 #endif 346 369 !! put here some general information you'd like to print just once 347 370 print *, 'TILES: ', i_start,i_end, j_start, j_end ! numbers for simple runs, arrays for parallel runs … … 507 530 IF (test.NE.0) THEN 508 531 print *,'** Mars ** NO CALL FOR PHYSICS, go to next step...',test 532 #ifdef SPECIAL_NEST_SAVE 509 533 pdpsrf(:)=dp_save(:,id) 510 534 pdu(:,:)=du_save(:,:,id) … … 512 536 pdt(:,:)=dt_save(:,:,id) 513 537 pdq(:,:,:)=dq_save(:,:,:,id) 538 #else 539 pdpsrf(:)=dp_save(:) 540 pdu(:,:)=du_save(:,:) 541 pdv(:,:)=dv_save(:,:) 542 pdt(:,:)=dt_save(:,:) 543 pdq(:,:,:)=dq_save(:,:,:) 544 #endif 514 545 !!! 515 546 !!! BIG LOOP : 2. calculate physical tendencies … … 1015 1046 ! PHYSIQ TENDENCIES ARE SAVED TO BE SPLIT WITHIN INTERMEDIATE DYNAMICAL TIMESTEPS ! 1016 1047 !---------------------------------------------------------------------------------! 1048 #ifdef SPECIAL_NEST_SAVE 1017 1049 dp_save(:,id)=pdpsrf(:) 1018 1050 du_save(:,:,id)=pdu(:,:) … … 1020 1052 dt_save(:,:,id)=pdt(:,:) 1021 1053 dq_save(:,:,:,id)=pdq(:,:,:) 1054 #else 1055 dp_save(:)=pdpsrf(:) 1056 du_save(:,:)=pdu(:,:) 1057 dv_save(:,:)=pdv(:,:) 1058 dt_save(:,:)=pdt(:,:) 1059 dq_save(:,:,:)=pdq(:,:,:) 1060 #endif 1022 1061 1023 1062 ENDIF call_physics
Note: See TracChangeset
for help on using the changeset viewer.