Changeset 8076 for branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90
- Timestamp:
- 2017-05-26T10:17:21+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90
r8045 r8076 37 37 USE trc, ONLY: ln_diatrc, med_diag, nittrc000, & 38 38 trc2d, trc3d 39 USE wrk_nemo, ONLY: wrk_alloc40 39 41 40 # if defined key_iomput … … 175 174 IF ( kt == nittrc000 ) CALL trc_nam_iom_medusa 176 175 177 CALL wrk_alloc( jpi, jpj, zw2d)176 ALLOCATE( zw2d(1:jpi, 1:jpj) ) 178 177 zw2d(:,:) = 0.0 !! 179 178 IF ( med_diag%PRN%dgsave ) THEN 180 CALL wrk_alloc( jpi, jpj, fprn2d)179 ALLOCATE( fprn2d(1:jpi, 1:jpj) ) 181 180 fprn2d(:,:) = 0.0 !! 182 181 ENDIF 183 182 IF ( med_diag%MPN%dgsave ) THEN 184 CALL wrk_alloc( jpi, jpj, fdpn2d)183 ALLOCATE( fdpn2d(1:jpi, 1:jpj) ) 185 184 fdpn2d(:,:) = 0.0 !! 186 185 ENDIF 187 186 IF ( med_diag%PRD%dgsave ) THEN 188 CALL wrk_alloc( jpi, jpj, fprd2d)187 ALLOCATE( fprd2d(1:jpi, 1:jpj) ) 189 188 fprd2d(:,:) = 0.0 !! 190 189 ENDIF 191 190 IF( med_diag%MPD%dgsave ) THEN 192 CALL wrk_alloc( jpi, jpj, fdpd2d)191 ALLOCATE( fdpd2d(1:jpi, 1:jpj) ) 193 192 fdpd2d(:,:) = 0.0 !! 194 193 ENDIF 195 194 IF( med_diag%OPAL%dgsave ) THEN 196 CALL wrk_alloc( jpi, jpj, fprds2d)195 ALLOCATE( fprds2d(1:jpi, 1:jpj) ) 197 196 fprds2d(:,:) = 0.0 !! 198 197 ENDIF 199 198 IF( med_diag%OPALDISS%dgsave ) THEN 200 CALL wrk_alloc( jpi, jpj, fsdiss2d)199 ALLOCATE( fsdiss2d(1:jpi, 1:jpj) ) 201 200 fsdiss2d(:,:) = 0.0 !! 202 201 ENDIF 203 202 IF( med_diag%GMIPn%dgsave ) THEN 204 CALL wrk_alloc( jpi, jpj, fgmipn2d)203 ALLOCATE( fgmipn2d(1:jpi, 1:jpj) ) 205 204 fgmipn2d(:,:) = 0.0 !! 206 205 ENDIF 207 206 IF( med_diag%GMID%dgsave ) THEN 208 CALL wrk_alloc( jpi, jpj, fgmid2d)207 ALLOCATE( fgmid2d(1:jpi, 1:jpj) ) 209 208 fgmid2d(:,:) = 0.0 !! 210 209 ENDIF 211 210 IF( med_diag%MZMI%dgsave ) THEN 212 CALL wrk_alloc( jpi, jpj, fdzmi2d)211 ALLOCATE( fdzmi2d(1:jpi, 1:jpj) ) 213 212 fdzmi2d(:,:) = 0.0 !! 214 213 ENDIF 215 214 IF( med_diag%GMEPN%dgsave ) THEN 216 CALL wrk_alloc( jpi, jpj, fgmepn2d)215 ALLOCATE( fgmepn2d(1:jpi, 1:jpj) ) 217 216 fgmepn2d(:,:) = 0.0 !! 218 217 ENDIF 219 218 IF( med_diag%GMEPD%dgsave ) THEN 220 CALL wrk_alloc( jpi, jpj, fgmepd2d)219 ALLOCATE( fgmepd2d(1:jpi, 1:jpj) ) 221 220 fgmepd2d(:,:) = 0.0 !! 222 221 ENDIF 223 222 IF( med_diag%GMEZMI%dgsave ) THEN 224 CALL wrk_alloc( jpi, jpj, fgmezmi2d)223 ALLOCATE( fgmezmi2d(1:jpi, 1:jpj) ) 225 224 fgmezmi2d(:,:) = 0.0 !! 226 225 ENDIF 227 226 IF( med_diag%GMED%dgsave ) THEN 228 CALL wrk_alloc( jpi, jpj, fgmed2d)227 ALLOCATE( fgmed2d(1:jpi, 1:jpj) ) 229 228 fgmed2d(:,:) = 0.0 !! 230 229 ENDIF 231 230 IF( med_diag%MZME%dgsave ) THEN 232 CALL wrk_alloc( jpi, jpj, fdzme2d)231 ALLOCATE( fdzme2d(1:jpi, 1:jpj) ) 233 232 fdzme2d(:,:) = 0.0 !! 234 233 ENDIF 235 234 IF( med_diag%DETN%dgsave ) THEN 236 CALL wrk_alloc( jpi, jpj, fslown2d)235 ALLOCATE( fslown2d(1:jpi, 1:jpj) ) 237 236 fslown2d(:,:) = 0.0 !! 238 237 ENDIF 239 238 IF( med_diag%MDET%dgsave ) THEN 240 CALL wrk_alloc( jpi, jpj, fdd2d)239 ALLOCATE( fdd2d(1:jpi, 1:jpj) ) 241 240 fdd2d(:,:) = 0.0 !! 242 241 ENDIF 243 242 IF( med_diag%AEOLIAN%dgsave ) THEN 244 CALL wrk_alloc( jpi, jpj, ffetop2d)243 ALLOCATE( ffetop2d(1:jpi, 1:jpj) ) 245 244 ffetop2d(:,:) = 0.0 !! 246 245 ENDIF 247 246 IF( med_diag%BENTHIC%dgsave ) THEN 248 CALL wrk_alloc( jpi, jpj, ffebot2d)247 ALLOCATE( ffebot2d(1:jpi, 1:jpj) ) 249 248 ffebot2d(:,:) = 0.0 !! 250 249 ENDIF 251 250 IF( med_diag%SCAVENGE%dgsave ) THEN 252 CALL wrk_alloc( jpi, jpj, ffescav2d)251 ALLOCATE( ffescav2d(1:jpi, 1:jpj) ) 253 252 ffescav2d(:,:) = 0.0 !! 254 253 ENDIF 255 254 IF( med_diag%PN_JLIM%dgsave ) THEN 256 CALL wrk_alloc( jpi, jpj, fjln2d)255 ALLOCATE( fjln2d(1:jpi, 1:jpj) ) 257 256 fjln2d(:,:) = 0.0 !! 258 257 ENDIF 259 258 IF( med_diag%PN_NLIM%dgsave ) THEN 260 CALL wrk_alloc( jpi, jpj, fnln2d)259 ALLOCATE( fnln2d(1:jpi, 1:jpj) ) 261 260 fnln2d(:,:) = 0.0 !! 262 261 ENDIF 263 262 IF( med_diag%PN_FELIM%dgsave ) THEN 264 CALL wrk_alloc( jpi, jpj, ffln2d)263 ALLOCATE( ffln2d(1:jpi, 1:jpj) ) 265 264 ffln2d(:,:) = 0.0 !! 266 265 ENDIF 267 266 IF( med_diag%PD_JLIM%dgsave ) THEN 268 CALL wrk_alloc( jpi, jpj, fjld2d)267 ALLOCATE( fjld2d(1:jpi, 1:jpj) ) 269 268 fjld2d(:,:) = 0.0 !! 270 269 ENDIF 271 270 IF( med_diag%PD_NLIM%dgsave ) THEN 272 CALL wrk_alloc( jpi, jpj, fnld2d)271 ALLOCATE( fnld2d(1:jpi, 1:jpj) ) 273 272 fnld2d(:,:) = 0.0 !! 274 273 ENDIF 275 274 IF( med_diag%PD_FELIM%dgsave ) THEN 276 CALL wrk_alloc( jpi, jpj, ffld2d)275 ALLOCATE( ffld2d(1:jpi, 1:jpj) ) 277 276 ffld2d(:,:) = 0.0 !! 278 277 ENDIF 279 278 IF( med_diag%PD_SILIM%dgsave ) THEN 280 CALL wrk_alloc( jpi, jpj, fsld2d2)279 ALLOCATE( fsld2d2(1:jpi, 1:jpj) ) 281 280 fsld2d2(:,:) = 0.0 !! 282 281 ENDIF 283 282 IF( med_diag%PDSILIM2%dgsave ) THEN 284 CALL wrk_alloc( jpi, jpj, fsld2d)283 ALLOCATE( fsld2d(1:jpi, 1:jpj) ) 285 284 fsld2d(:,:) = 0.0 !! 286 285 ENDIF … … 289 288 !! 290 289 IF( med_diag%TOTREG_N%dgsave ) THEN 291 CALL wrk_alloc( jpi, jpj, fregen2d)290 ALLOCATE( fregen2d(1:jpi, 1:jpj) ) 292 291 fregen2d(:,:) = 0.0 !! 293 292 ENDIF 294 293 IF( med_diag%TOTRG_SI%dgsave ) THEN 295 CALL wrk_alloc( jpi, jpj, fregensi2d)294 ALLOCATE( fregensi2d(1:jpi, 1:jpj) ) 296 295 fregensi2d(:,:) = 0.0 !! 297 296 ENDIF … … 300 299 !! 301 300 IF( med_diag%FASTN%dgsave ) THEN 302 CALL wrk_alloc( jpi, jpj, ftempn2d)301 ALLOCATE( ftempn2d(1:jpi, 1:jpj) ) 303 302 ftempn2d(:,:) = 0.0 !! 304 303 ENDIF 305 304 IF( med_diag%FASTSI%dgsave ) THEN 306 CALL wrk_alloc( jpi, jpj, ftempsi2d)305 ALLOCATE( ftempsi2d(1:jpi, 1:jpj) ) 307 306 ftempsi2d(:,:) = 0.0 !! 308 307 ENDIF 309 308 IF( med_diag%FASTFE%dgsave ) THEN 310 CALL wrk_alloc( jpi, jpj, ftempfe2d)309 ALLOCATE( ftempfe2d(1:jpi, 1:jpj) ) 311 310 ftempfe2d(:,:) = 0.0 !! 312 311 ENDIF 313 312 IF( med_diag%FASTC%dgsave ) THEN 314 CALL wrk_alloc( jpi, jpj, ftempc2d)313 ALLOCATE( ftempc2d(1:jpi, 1:jpj) ) 315 314 ftempc2d(:,:) = 0.0 !! 316 315 ENDIF 317 316 IF( med_diag%FASTCA%dgsave ) THEN 318 CALL wrk_alloc( jpi, jpj, ftempca2d)317 ALLOCATE( ftempca2d(1:jpi, 1:jpj) ) 319 318 ftempca2d(:,:) = 0.0 !! 320 319 ENDIF … … 323 322 !! 324 323 IF( med_diag%REMINN%dgsave ) THEN 325 CALL wrk_alloc( jpi, jpj, freminn2d)324 ALLOCATE( freminn2d(1:jpi, 1:jpj) ) 326 325 freminn2d(:,:) = 0.0 !! 327 326 ENDIF 328 327 IF( med_diag%REMINSI%dgsave ) THEN 329 CALL wrk_alloc( jpi, jpj, freminsi2d)328 ALLOCATE( freminsi2d(1:jpi, 1:jpj) ) 330 329 freminsi2d(:,:) = 0.0 !! 331 330 ENDIF 332 331 IF( med_diag%REMINFE%dgsave ) THEN 333 CALL wrk_alloc( jpi, jpj, freminfe2d)332 ALLOCATE( freminfe2d(1:jpi, 1:jpj) ) 334 333 freminfe2d(:,:) = 0.0 !! 335 334 ENDIF 336 335 IF( med_diag%REMINC%dgsave ) THEN 337 CALL wrk_alloc( jpi, jpj, freminc2d)336 ALLOCATE( freminc2d(1:jpi, 1:jpj) ) 338 337 freminc2d(:,:) = 0.0 !! 339 338 ENDIF 340 339 IF( med_diag%REMINCA%dgsave ) THEN 341 CALL wrk_alloc( jpi, jpj, freminca2d)340 ALLOCATE( freminca2d(1:jpi, 1:jpj) ) 342 341 freminca2d(:,:) = 0.0 !! 343 342 ENDIF … … 348 347 !! 349 348 IF( med_diag%RR_0100%dgsave ) THEN 350 CALL wrk_alloc( jpi, jpj, ffastca2d)349 ALLOCATE( ffastca2d(1:jpi, 1:jpj) ) 351 350 ffastca2d(:,:) = 0.0 !! 352 351 ENDIF 353 352 354 353 IF( med_diag%ATM_PCO2%dgsave ) THEN 355 CALL wrk_alloc( jpi, jpj, f_pco2a2d)354 ALLOCATE( f_pco2a2d(1:jpi, 1:jpj) ) 356 355 f_pco2a2d(:,:) = 0.0 !! 357 356 ENDIF … … 360 359 !! 361 360 IF( med_diag%OCN_PCO2%dgsave ) THEN 362 CALL wrk_alloc( jpi, jpj, f_pco2w2d)361 ALLOCATE( f_pco2w2d(1:jpi, 1:jpj) ) 363 362 f_pco2w2d(:,:) = 0.0 !! 364 363 ENDIF … … 367 366 !! 368 367 IF( med_diag%CO2FLUX%dgsave ) THEN 369 CALL wrk_alloc( jpi, jpj, f_co2flux2d)368 ALLOCATE( f_co2flux2d(1:jpi, 1:jpj) ) 370 369 f_co2flux2d(:,:) = 0.0 !! 371 370 ENDIF … … 374 373 !! 375 374 IF( med_diag%TCO2%dgsave ) THEN 376 CALL wrk_alloc( jpi, jpj, f_TDIC2d)375 ALLOCATE( f_TDIC2d(1:jpi, 1:jpj) ) 377 376 f_TDIC2d(:,:) = 0.0 !! 378 377 ENDIF 379 378 IF( med_diag%TALK%dgsave ) THEN 380 CALL wrk_alloc( jpi, jpj, f_TALK2d)379 ALLOCATE( f_TALK2d(1:jpi, 1:jpj) ) 381 380 f_TALK2d(:,:) = 0.0 !! 382 381 ENDIF 383 382 IF( med_diag%KW660%dgsave ) THEN 384 CALL wrk_alloc( jpi, jpj, f_kw6602d)383 ALLOCATE( f_kw6602d(1:jpi, 1:jpj) ) 385 384 f_kw6602d(:,:) = 0.0 !! 386 385 ENDIF 387 386 IF( med_diag%ATM_PP0%dgsave ) THEN 388 CALL wrk_alloc( jpi, jpj, f_pp02d)387 ALLOCATE( f_pp02d(1:jpi, 1:jpj) ) 389 388 f_pp02d(:,:) = 0.0 !! 390 389 ENDIF 391 390 IF( med_diag%O2FLUX%dgsave ) THEN 392 CALL wrk_alloc( jpi, jpj, f_o2flux2d)391 ALLOCATE( f_o2flux2d(1:jpi, 1:jpj) ) 393 392 f_o2flux2d(:,:) = 0.0 !! 394 393 ENDIF 395 394 IF( med_diag%O2SAT%dgsave ) THEN 396 CALL wrk_alloc( jpi, jpj, f_o2sat2d)395 ALLOCATE( f_o2sat2d(1:jpi, 1:jpj) ) 397 396 f_o2sat2d(:,:) = 0.0 !! 398 397 ENDIF … … 401 400 !! 402 401 IF( med_diag%SFR_OCAL%dgsave ) THEN 403 CALL wrk_alloc( jpi, jpj, sfr_ocal2d)402 ALLOCATE( sfr_ocal2d(1:jpi, 1:jpj) ) 404 403 sfr_ocal2d(:,:) = 0.0 !! 405 404 ENDIF 406 405 IF( med_diag%SFR_OARG%dgsave ) THEN 407 CALL wrk_alloc( jpi, jpj, sfr_oarg2d)406 ALLOCATE( sfr_oarg2d(1:jpi, 1:jpj) ) 408 407 sfr_oarg2d(:,:) = 0.0 !! 409 408 ENDIF … … 412 411 !! 413 412 IF( med_diag%IBEN_N%dgsave ) THEN 414 CALL wrk_alloc( jpi, jpj, iben_n2d)413 ALLOCATE( iben_n2d(1:jpi, 1:jpj) ) 415 414 iben_n2d(:,:) = 0.0 !! 416 415 ENDIF 417 416 IF( med_diag%IBEN_FE%dgsave ) THEN 418 CALL wrk_alloc( jpi, jpj, iben_fe2d)417 ALLOCATE( iben_fe2d(1:jpi, 1:jpj) ) 419 418 iben_fe2d(:,:) = 0.0 !! 420 419 ENDIF 421 420 IF( med_diag%IBEN_C%dgsave ) THEN 422 CALL wrk_alloc( jpi, jpj, iben_c2d)421 ALLOCATE( iben_c2d(1:jpi, 1:jpj) ) 423 422 iben_c2d(:,:) = 0.0 !! 424 423 ENDIF 425 424 IF( med_diag%IBEN_SI%dgsave ) THEN 426 CALL wrk_alloc( jpi, jpj, iben_si2d)425 ALLOCATE( iben_si2d(1:jpi, 1:jpj) ) 427 426 iben_si2d(:,:) = 0.0 !! 428 427 ENDIF 429 428 IF( med_diag%IBEN_CA%dgsave ) THEN 430 CALL wrk_alloc( jpi, jpj, iben_ca2d)429 ALLOCATE( iben_ca2d(1:jpi, 1:jpj) ) 431 430 iben_ca2d(:,:) = 0.0 !! 432 431 ENDIF 433 432 IF( med_diag%OBEN_N%dgsave ) THEN 434 CALL wrk_alloc( jpi, jpj, oben_n2d)433 ALLOCATE( oben_n2d(1:jpi, 1:jpj) ) 435 434 oben_n2d(:,:) = 0.0 !! 436 435 ENDIF 437 436 IF( med_diag%OBEN_FE%dgsave ) THEN 438 CALL wrk_alloc( jpi, jpj, oben_fe2d)437 ALLOCATE( oben_fe2d(1:jpi, 1:jpj) ) 439 438 oben_fe2d(:,:) = 0.0 !! 440 439 ENDIF 441 440 IF( med_diag%OBEN_C%dgsave ) THEN 442 CALL wrk_alloc( jpi, jpj, oben_c2d)441 ALLOCATE( oben_c2d(1:jpi, 1:jpj) ) 443 442 oben_c2d(:,:) = 0.0 !! 444 443 ENDIF 445 444 IF( med_diag%OBEN_SI%dgsave ) THEN 446 CALL wrk_alloc( jpi, jpj, oben_si2d)445 ALLOCATE( oben_si2d(1:jpi, 1:jpj) ) 447 446 oben_si2d(:,:) = 0.0 !! 448 447 ENDIF 449 448 IF( med_diag%OBEN_CA%dgsave ) THEN 450 CALL wrk_alloc( jpi, jpj, oben_ca2d)449 ALLOCATE( oben_ca2d(1:jpi, 1:jpj) ) 451 450 oben_ca2d(:,:) = 0.0 !! 452 451 ENDIF … … 456 455 457 456 IF( med_diag%RIV_N%dgsave ) THEN 458 CALL wrk_alloc( jpi, jpj, rivn2d)457 ALLOCATE( rivn2d(1:jpi, 1:jpj) ) 459 458 rivn2d(:,:) = 0.0 !! 460 459 ENDIF 461 460 IF( med_diag%RIV_SI%dgsave ) THEN 462 CALL wrk_alloc( jpi, jpj, rivsi2d)461 ALLOCATE( rivsi2d(1:jpi, 1:jpj) ) 463 462 rivsi2d(:,:) = 0.0 !! 464 463 ENDIF 465 464 IF( med_diag%RIV_C%dgsave ) THEN 466 CALL wrk_alloc( jpi, jpj, rivc2d)465 ALLOCATE( rivc2d(1:jpi, 1:jpj) ) 467 466 rivc2d(:,:) = 0.0 !! 468 467 ENDIF 469 468 IF( med_diag%RIV_ALK%dgsave ) THEN 470 CALL wrk_alloc( jpi, jpj, rivalk2d)469 ALLOCATE( rivalk2d(1:jpi, 1:jpj) ) 471 470 rivalk2d(:,:) = 0.0 !! 472 471 ENDIF 473 472 IF( med_diag%DETC%dgsave ) THEN 474 CALL wrk_alloc( jpi, jpj, fslowc2d)473 ALLOCATE( fslowc2d(1:jpi, 1:jpj) ) 475 474 fslowc2d(:,:) = 0.0 !! 476 475 ENDIF … … 479 478 !! 480 479 IF( med_diag%LYSO_CA%dgsave ) THEN 481 CALL wrk_alloc( jpi, jpj, lyso_ca2d)480 ALLOCATE( lyso_ca2d(1:jpi, 1:jpj) ) 482 481 lyso_ca2d(:,:) = 0.0 !! 483 482 ENDIF … … 486 485 !! 487 486 IF( med_diag%PN_LLOSS%dgsave ) THEN 488 CALL wrk_alloc( jpi, jpj, fdpn22d)487 ALLOCATE( fdpn22d(1:jpi, 1:jpj) ) 489 488 fdpn22d(:,:) = 0.0 !! 490 489 ENDIF 491 490 IF( med_diag%PD_LLOSS%dgsave ) THEN 492 CALL wrk_alloc( jpi, jpj, fdpd22d)491 ALLOCATE( fdpd22d(1:jpi, 1:jpj) ) 493 492 fdpd22d(:,:) = 0.0 !! 494 493 ENDIF 495 494 IF( med_diag%ZI_LLOSS%dgsave ) THEN 496 CALL wrk_alloc( jpi, jpj, fdzmi22d)495 ALLOCATE( fdzmi22d(1:jpi, 1:jpj) ) 497 496 fdzmi22d(:,:) = 0.0 !! 498 497 ENDIF 499 498 IF( med_diag%ZE_LLOSS%dgsave ) THEN 500 CALL wrk_alloc( jpi, jpj, fdzme22d)499 ALLOCATE( fdzme22d(1:jpi, 1:jpj) ) 501 500 fdzme22d(:,:) = 0.0 !! 502 501 ENDIF 503 502 IF( med_diag%ZI_MES_N%dgsave ) THEN 504 CALL wrk_alloc( jpi, jpj, zimesn2d)503 ALLOCATE( zimesn2d(1:jpi, 1:jpj) ) 505 504 zimesn2d(:,:) = 0.0 !! 506 505 ENDIF 507 506 IF( med_diag%ZI_MES_D%dgsave ) THEN 508 CALL wrk_alloc( jpi, jpj, zimesd2d)507 ALLOCATE( zimesd2d(1:jpi, 1:jpj) ) 509 508 zimesd2d(:,:) = 0.0 !! 510 509 ENDIF 511 510 IF( med_diag%ZI_MES_C%dgsave ) THEN 512 CALL wrk_alloc( jpi, jpj, zimesc2d)511 ALLOCATE( zimesc2d(1:jpi, 1:jpj) ) 513 512 zimesc2d(:,:) = 0.0 !! 514 513 ENDIF 515 514 IF( med_diag%ZI_MESDC%dgsave ) THEN 516 CALL wrk_alloc( jpi, jpj, zimesdc2d)515 ALLOCATE( zimesdc2d(1:jpi, 1:jpj) ) 517 516 zimesdc2d(:,:) = 0.0 !! 518 517 ENDIF 519 518 IF( med_diag%ZI_EXCR%dgsave ) THEN 520 CALL wrk_alloc( jpi, jpj, ziexcr2d)519 ALLOCATE( ziexcr2d(1:jpi, 1:jpj) ) 521 520 ziexcr2d(:,:) = 0.0 !! 522 521 ENDIF 523 522 IF( med_diag%ZI_RESP%dgsave ) THEN 524 CALL wrk_alloc( jpi, jpj, ziresp2d)523 ALLOCATE( ziresp2d(1:jpi, 1:jpj) ) 525 524 ziresp2d(:,:) = 0.0 !! 526 525 ENDIF 527 526 IF( med_diag%ZI_GROW%dgsave ) THEN 528 CALL wrk_alloc( jpi, jpj, zigrow2d)527 ALLOCATE( zigrow2d(1:jpi, 1:jpj) ) 529 528 zigrow2d(:,:) = 0.0 !! 530 529 ENDIF 531 530 IF( med_diag%ZE_MES_N%dgsave ) THEN 532 CALL wrk_alloc( jpi, jpj, zemesn2d)531 ALLOCATE( zemesn2d(1:jpi, 1:jpj) ) 533 532 zemesn2d(:,:) = 0.0 !! 534 533 ENDIF 535 534 IF( med_diag%ZE_MES_D%dgsave ) THEN 536 CALL wrk_alloc( jpi, jpj, zemesd2d)535 ALLOCATE( zemesd2d(1:jpi, 1:jpj) ) 537 536 zemesd2d(:,:) = 0.0 !! 538 537 ENDIF 539 538 IF( med_diag%ZE_MES_C%dgsave ) THEN 540 CALL wrk_alloc( jpi, jpj, zemesc2d)539 ALLOCATE( zemesc2d(1:jpi, 1:jpj) ) 541 540 zemesc2d(:,:) = 0.0 !! 542 541 ENDIF 543 542 IF( med_diag%ZE_MESDC%dgsave ) THEN 544 CALL wrk_alloc( jpi, jpj, zemesdc2d)543 ALLOCATE( zemesdc2d(1:jpi, 1:jpj) ) 545 544 zemesdc2d(:,:) = 0.0 !! 546 545 ENDIF 547 546 IF( med_diag%ZE_EXCR%dgsave ) THEN 548 CALL wrk_alloc( jpi, jpj, zeexcr2d)547 ALLOCATE( zeexcr2d(1:jpi, 1:jpj) ) 549 548 zeexcr2d(:,:) = 0.0 !! 550 549 ENDIF 551 550 IF( med_diag%ZE_RESP%dgsave ) THEN 552 CALL wrk_alloc( jpi, jpj, zeresp2d)551 ALLOCATE( zeresp2d(1:jpi, 1:jpj) ) 553 552 zeresp2d(:,:) = 0.0 !! 554 553 ENDIF 555 554 IF( med_diag%ZE_GROW%dgsave ) THEN 556 CALL wrk_alloc( jpi, jpj, zegrow2d)555 ALLOCATE( zegrow2d(1:jpi, 1:jpj) ) 557 556 zegrow2d(:,:) = 0.0 !! 558 557 ENDIF 559 558 IF( med_diag%MDETC%dgsave ) THEN 560 CALL wrk_alloc( jpi, jpj, mdetc2d)559 ALLOCATE( mdetc2d(1:jpi, 1:jpj) ) 561 560 mdetc2d(:,:) = 0.0 !! 562 561 ENDIF 563 562 IF( med_diag%GMIDC%dgsave ) THEN 564 CALL wrk_alloc( jpi, jpj, gmidc2d)563 ALLOCATE( gmidc2d(1:jpi, 1:jpj) ) 565 564 gmidc2d(:,:) = 0.0 !! 566 565 ENDIF 567 566 IF( med_diag%GMEDC%dgsave ) THEN 568 CALL wrk_alloc( jpi, jpj, gmedc2d)567 ALLOCATE( gmedc2d(1:jpi, 1:jpj) ) 569 568 gmedc2d(:,:) = 0.0 !! 570 569 ENDIF … … 574 573 IF (jdms .eq. 1) THEN 575 574 IF( med_diag%DMS_SURF%dgsave ) THEN 576 CALL wrk_alloc( jpi, jpj, dms_surf2d)575 ALLOCATE( dms_surf2d(1:jpi, 1:jpj) ) 577 576 dms_surf2d(:,:) = 0.0 !! 578 577 ENDIF 579 578 IF( med_diag%DMS_ANDR%dgsave ) THEN 580 CALL wrk_alloc( jpi, jpj, dms_andr2d)579 ALLOCATE( dms_andr2d(1:jpi, 1:jpj) ) 581 580 dms_andr2d(:,:) = 0.0 !! 582 581 ENDIF 583 582 IF( med_diag%DMS_SIMO%dgsave ) THEN 584 CALL wrk_alloc( jpi, jpj, dms_simo2d)583 ALLOCATE( dms_simo2d(1:jpi, 1:jpj) ) 585 584 dms_simo2d(:,:) = 0.0 !! 586 585 ENDIF 587 586 IF( med_diag%DMS_ARAN%dgsave ) THEN 588 CALL wrk_alloc( jpi, jpj, dms_aran2d)587 ALLOCATE( dms_aran2d(1:jpi, 1:jpj) ) 589 588 dms_aran2d(:,:) = 0.0 !! 590 589 ENDIF 591 590 IF( med_diag%DMS_HALL%dgsave ) THEN 592 CALL wrk_alloc( jpi, jpj, dms_hall2d)591 ALLOCATE( dms_hall2d(1:jpi, 1:jpj) ) 593 592 dms_hall2d(:,:) = 0.0 !! 594 593 ENDIF … … 597 596 !! AXY (24/11/16): extra MOCSY diagnostics, 2D 598 597 IF( med_diag%ATM_XCO2%dgsave ) THEN 599 CALL wrk_alloc( jpi, jpj, f_xco2a_2d)598 ALLOCATE( f_xco2a_2d(1:jpi, 1:jpj) ) 600 599 f_xco2a_2d(:,:) = 0.0 !! 601 600 ENDIF 602 601 IF( med_diag%OCN_FCO2%dgsave ) THEN 603 CALL wrk_alloc( jpi, jpj, f_fco2w_2d)602 ALLOCATE( f_fco2w_2d(1:jpi, 1:jpj) ) 604 603 f_fco2w_2d(:,:) = 0.0 !! 605 604 ENDIF 606 605 IF( med_diag%ATM_FCO2%dgsave ) THEN 607 CALL wrk_alloc( jpi, jpj, f_fco2a_2d)606 ALLOCATE( f_fco2a_2d(1:jpi, 1:jpj) ) 608 607 f_fco2a_2d(:,:) = 0.0 !! 609 608 ENDIF 610 609 IF( med_diag%OCN_RHOSW%dgsave ) THEN 611 CALL wrk_alloc( jpi, jpj, f_ocnrhosw_2d)610 ALLOCATE( f_ocnrhosw_2d(1:jpi, 1:jpj) ) 612 611 f_ocnrhosw_2d(:,:) = 0.0 !! 613 612 ENDIF 614 613 IF( med_diag%OCN_SCHCO2%dgsave ) THEN 615 CALL wrk_alloc( jpi, jpj, f_ocnschco2_2d)614 ALLOCATE( f_ocnschco2_2d(1:jpi, 1:jpj) ) 616 615 f_ocnschco2_2d(:,:) = 0.0 !! 617 616 ENDIF 618 617 IF( med_diag%OCN_KWCO2%dgsave ) THEN 619 CALL wrk_alloc( jpi, jpj, f_ocnkwco2_2d)618 ALLOCATE( f_ocnkwco2_2d(1:jpi, 1:jpj) ) 620 619 f_ocnkwco2_2d(:,:) = 0.0 !! 621 620 ENDIF 622 621 IF( med_diag%OCN_K0%dgsave ) THEN 623 CALL wrk_alloc( jpi, jpj, f_ocnk0_2d)622 ALLOCATE( f_ocnk0_2d(1:jpi, 1:jpj) ) 624 623 f_ocnk0_2d(:,:) = 0.0 !! 625 624 ENDIF 626 625 IF( med_diag%CO2STARAIR%dgsave ) THEN 627 CALL wrk_alloc( jpi, jpj, f_co2starair_2d)626 ALLOCATE( f_co2starair_2d(1:jpi, 1:jpj) ) 628 627 f_co2starair_2d(:,:) = 0.0 !! 629 628 ENDIF 630 629 IF( med_diag%OCN_DPCO2%dgsave ) THEN 631 CALL wrk_alloc( jpi, jpj, f_ocndpco2_2d)630 ALLOCATE( f_ocndpco2_2d(1:jpi, 1:jpj) ) 632 631 f_ocndpco2_2d(:,:) = 0.0 !! 633 632 ENDIF 634 633 # endif 635 634 IF( med_diag%TPP3%dgsave ) THEN 636 CALL wrk_alloc( jpi, jpj, jpk, tpp3d)635 ALLOCATE( tpp3d(1:jpi, 1:jpj, 1:jpk) ) 637 636 tpp3d(:,:,:) = 0.0 !! 638 637 ENDIF 639 638 IF( med_diag%DETFLUX3%dgsave ) THEN 640 CALL wrk_alloc( jpi, jpj, jpk, detflux3d)639 ALLOCATE( detflux3d(1:jpi, 1:jpj, 1:jpk) ) 641 640 detflux3d(:,:,:) = 0.0 !! 642 641 ENDIF 643 642 IF( med_diag%REMIN3N%dgsave ) THEN 644 CALL wrk_alloc( jpi, jpj, jpk, remin3dn)643 ALLOCATE( remin3dn(1:jpi, 1:jpj, 1:jpk) ) 645 644 remin3dn(:,:,:) = 0.0 !! 646 645 ENDIF … … 650 649 !! needed for coupling/passed through restart 651 650 !! IF( med_diag%FGCO2%dgsave ) THEN 652 CALL wrk_alloc( jpi, jpj, fgco2)651 ALLOCATE( fgco2(1:jpi, 1:jpj) ) 653 652 fgco2(:,:) = 0.0 !! 654 653 !! ENDIF 655 654 IF( med_diag%INTDISSIC%dgsave ) THEN 656 CALL wrk_alloc( jpi, jpj, intdissic)655 ALLOCATE( intdissic(1:jpi, 1:jpj) ) 657 656 intdissic(:,:) = 0.0 !! 658 657 ENDIF 659 658 IF( med_diag%INTDISSIN%dgsave ) THEN 660 CALL wrk_alloc( jpi, jpj, intdissin)659 ALLOCATE( intdissin(1:jpi, 1:jpj) ) 661 660 intdissin(:,:) = 0.0 !! 662 661 ENDIF 663 662 IF( med_diag%INTDISSISI%dgsave ) THEN 664 CALL wrk_alloc( jpi, jpj, intdissisi)663 ALLOCATE( intdissisi(1:jpi, 1:jpj) ) 665 664 intdissisi(:,:) = 0.0 !! 666 665 ENDIF 667 666 IF( med_diag%INTTALK%dgsave ) THEN 668 CALL wrk_alloc( jpi, jpj, inttalk)667 ALLOCATE( inttalk(1:jpi, 1:jpj) ) 669 668 inttalk(:,:) = 0.0 !! 670 669 ENDIF 671 670 IF( med_diag%O2min%dgsave ) THEN 672 CALL wrk_alloc( jpi, jpj, o2min)671 ALLOCATE( o2min(1:jpi, 1:jpj) ) 673 672 o2min(:,:) = 1.e3 !! set to high value as we're looking for min(o2) 674 673 ENDIF 675 674 IF( med_diag%ZO2min%dgsave ) THEN 676 CALL wrk_alloc( jpi, jpj, zo2min)675 ALLOCATE( zo2min(1:jpi, 1:jpj) ) 677 676 zo2min(:,:) = 0.0 !! 678 677 ENDIF 679 678 IF( med_diag%FBDDTALK%dgsave ) THEN 680 CALL wrk_alloc( jpi, jpj, fbddtalk)679 ALLOCATE( fbddtalk(1:jpi, 1:jpj) ) 681 680 fbddtalk(:,:) = 0.0 !! 682 681 ENDIF 683 682 IF( med_diag%FBDDTDIC%dgsave ) THEN 684 CALL wrk_alloc( jpi, jpj, fbddtdic)683 ALLOCATE( fbddtdic(1:jpi, 1:jpj) ) 685 684 fbddtdic(:,:) = 0.0 !! 686 685 ENDIF 687 686 IF( med_diag%FBDDTDIFE%dgsave ) THEN 688 CALL wrk_alloc( jpi, jpj, fbddtdife)687 ALLOCATE( fbddtdife(1:jpi, 1:jpj) ) 689 688 fbddtdife(:,:) = 0.0 !! 690 689 ENDIF 691 690 IF( med_diag%FBDDTDIN%dgsave ) THEN 692 CALL wrk_alloc( jpi, jpj, fbddtdin)691 ALLOCATE( fbddtdin(1:jpi, 1:jpj) ) 693 692 fbddtdin(:,:) = 0.0 !! 694 693 ENDIF 695 694 IF( med_diag%FBDDTDISI%dgsave ) THEN 696 CALL wrk_alloc( jpi, jpj, fbddtdisi)695 ALLOCATE( fbddtdisi(1:jpi, 1:jpj) ) 697 696 fbddtdisi(:,:) = 0.0 !! 698 697 ENDIF … … 700 699 !! AXY (10/11/16): CMIP6 diagnostics, 3D 701 700 IF( med_diag%TPPD3%dgsave ) THEN 702 CALL wrk_alloc( jpi, jpj, jpk, tppd3)701 ALLOCATE( tppd3(1:jpi, 1:jpj, 1:jpk) ) 703 702 tppd3(:,:,:) = 0.0 !! 704 703 ENDIF 705 704 IF( med_diag%BDDTALK3%dgsave ) THEN 706 CALL wrk_alloc( jpi, jpj, jpk, bddtalk3)705 ALLOCATE( bddtalk3(1:jpi, 1:jpj, 1:jpk) ) 707 706 bddtalk3(:,:,:) = 0.0 !! 708 707 ENDIF 709 708 IF( med_diag%BDDTDIC3%dgsave ) THEN 710 CALL wrk_alloc( jpi, jpj, jpk, bddtdic3)709 ALLOCATE( bddtdic3(1:jpi, 1:jpj, 1:jpk) ) 711 710 bddtdic3(:,:,:) = 0.0 !! 712 711 ENDIF 713 712 IF( med_diag%BDDTDIFE3%dgsave ) THEN 714 CALL wrk_alloc( jpi, jpj, jpk, bddtdife3)713 ALLOCATE( bddtdife3(1:jpi, 1:jpj, 1:jpk) ) 715 714 bddtdife3(:,:,:) = 0.0 !! 716 715 ENDIF 717 716 IF( med_diag%BDDTDIN3%dgsave ) THEN 718 CALL wrk_alloc( jpi, jpj, jpk, bddtdin3)717 ALLOCATE( bddtdin3(1:jpi, 1:jpj, 1:jpk) ) 719 718 bddtdin3(:,:,:) = 0.0 !! 720 719 ENDIF 721 720 IF( med_diag%BDDTDISI3%dgsave ) THEN 722 CALL wrk_alloc( jpi, jpj, jpk, bddtdisi3)721 ALLOCATE( bddtdisi3(1:jpi, 1:jpj, 1:jpk) ) 723 722 bddtdisi3(:,:,:) = 0.0 !! 724 723 ENDIF 725 724 IF( med_diag%FD_NIT3%dgsave ) THEN 726 CALL wrk_alloc( jpi, jpj, jpk, fd_nit3)725 ALLOCATE( fd_nit3(1:jpi, 1:jpj, 1:jpk) ) 727 726 fd_nit3(:,:,:) = 0.0 !! 728 727 ENDIF 729 728 IF( med_diag%FD_SIL3%dgsave ) THEN 730 CALL wrk_alloc( jpi, jpj, jpk, fd_sil3)729 ALLOCATE( fd_sil3(1:jpi, 1:jpj, 1:jpk) ) 731 730 fd_sil3(:,:,:) = 0.0 !! 732 731 ENDIF 733 732 IF( med_diag%FD_CAR3%dgsave ) THEN 734 CALL wrk_alloc( jpi, jpj, jpk, fd_car3)733 ALLOCATE( fd_car3(1:jpi, 1:jpj, 1:jpk) ) 735 734 fd_car3(:,:,:) = 0.0 !! 736 735 ENDIF 737 736 IF( med_diag%FD_CAL3%dgsave ) THEN 738 CALL wrk_alloc( jpi, jpj, jpk, fd_cal3)737 ALLOCATE( fd_cal3(1:jpi, 1:jpj, 1:jpk) ) 739 738 fd_cal3(:,:,:) = 0.0 !! 740 739 ENDIF 741 740 IF( med_diag%DCALC3%dgsave ) THEN 742 CALL wrk_alloc( jpi, jpj, jpk, dcalc3)741 ALLOCATE( dcalc3(1:jpi, 1:jpj, 1:jpk) ) 743 742 dcalc3(:,:,: ) = 0.0 !! 744 743 ENDIF 745 744 IF( med_diag%EXPC3%dgsave ) THEN 746 CALL wrk_alloc( jpi, jpj, jpk, expc3)745 ALLOCATE( expc3(1:jpi, 1:jpj, 1:jpk) ) 747 746 expc3(:,:,: ) = 0.0 !! 748 747 ENDIF 749 748 IF( med_diag%EXPN3%dgsave ) THEN 750 CALL wrk_alloc( jpi, jpj, jpk, expn3)749 ALLOCATE( expn3(1:jpi, 1:jpj, 1:jpk) ) 751 750 expn3(:,:,: ) = 0.0 !! 752 751 ENDIF 753 752 IF( med_diag%FEDISS3%dgsave ) THEN 754 CALL wrk_alloc( jpi, jpj, jpk, fediss3)753 ALLOCATE( fediss3(1:jpi, 1:jpj, 1:jpk) ) 755 754 fediss3(:,:,: ) = 0.0 !! 756 755 ENDIF 757 756 IF( med_diag%FESCAV3%dgsave ) THEN 758 CALL wrk_alloc( jpi, jpj, jpk, fescav3)757 ALLOCATE( fescav3(1:jpi, 1:jpj, 1:jpk) ) 759 758 fescav3(:,:,: ) = 0.0 !! 760 759 ENDIF 761 760 IF( med_diag%MIGRAZP3%dgsave ) THEN 762 CALL wrk_alloc( jpi, jpj, jpk, migrazp3)761 ALLOCATE( migrazp3(1:jpi, 1:jpj, 1:jpk) ) 763 762 migrazp3(:,:,: ) = 0.0 !! 764 763 ENDIF 765 764 IF( med_diag%MIGRAZD3%dgsave ) THEN 766 CALL wrk_alloc( jpi, jpj, jpk, migrazd3)765 ALLOCATE( migrazd3(1:jpi, 1:jpj, 1:jpk) ) 767 766 migrazd3(:,:,: ) = 0.0 !! 768 767 ENDIF 769 768 IF( med_diag%MEGRAZP3%dgsave ) THEN 770 CALL wrk_alloc( jpi, jpj, jpk, megrazp3)769 ALLOCATE( megrazp3(1:jpi, 1:jpj, 1:jpk) ) 771 770 megrazp3(:,:,: ) = 0.0 !! 772 771 ENDIF 773 772 IF( med_diag%MEGRAZD3%dgsave ) THEN 774 CALL wrk_alloc( jpi, jpj, jpk, megrazd3)773 ALLOCATE( megrazd3(1:jpi, 1:jpj, 1:jpk) ) 775 774 megrazd3(:,:,: ) = 0.0 !! 776 775 ENDIF 777 776 IF( med_diag%MEGRAZZ3%dgsave ) THEN 778 CALL wrk_alloc( jpi, jpj, jpk, megrazz3)777 ALLOCATE( megrazz3(1:jpi, 1:jpj, 1:jpk) ) 779 778 megrazz3(:,:,: ) = 0.0 !! 780 779 ENDIF 781 780 IF( med_diag%O2SAT3%dgsave ) THEN 782 CALL wrk_alloc( jpi, jpj, jpk, o2sat3)781 ALLOCATE( o2sat3(1:jpi, 1:jpj, 1:jpk) ) 783 782 o2sat3(:,:,: ) = 0.0 !! 784 783 ENDIF 785 784 IF( med_diag%PBSI3%dgsave ) THEN 786 CALL wrk_alloc( jpi, jpj, jpk, pbsi3)785 ALLOCATE( pbsi3(1:jpi, 1:jpj, 1:jpk) ) 787 786 pbsi3(:,:,: ) = 0.0 !! 788 787 ENDIF 789 788 IF( med_diag%PCAL3%dgsave ) THEN 790 CALL wrk_alloc( jpi, jpj, jpk, pcal3)789 ALLOCATE( pcal3(1:jpi, 1:jpj, 1:jpk) ) 791 790 pcal3(:,:,: ) = 0.0 !! 792 791 ENDIF 793 792 IF( med_diag%REMOC3%dgsave ) THEN 794 CALL wrk_alloc( jpi, jpj, jpk, remoc3)793 ALLOCATE( remoc3(1:jpi, 1:jpj, 1:jpk) ) 795 794 remoc3(:,:,: ) = 0.0 !! 796 795 ENDIF 797 796 IF( med_diag%PNLIMJ3%dgsave ) THEN 798 CALL wrk_alloc( jpi, jpj, jpk, pnlimj3)797 ALLOCATE( pnlimj3(1:jpi, 1:jpj, 1:jpk) ) 799 798 pnlimj3(:,:,: ) = 0.0 !! 800 799 ENDIF 801 800 IF( med_diag%PNLIMN3%dgsave ) THEN 802 CALL wrk_alloc( jpi, jpj, jpk, pnlimn3)801 ALLOCATE( pnlimn3(1:jpi, 1:jpj, 1:jpk) ) 803 802 pnlimn3(:,:,: ) = 0.0 !! 804 803 ENDIF 805 804 IF( med_diag%PNLIMFE3%dgsave ) THEN 806 CALL wrk_alloc( jpi, jpj, jpk, pnlimfe3)805 ALLOCATE( pnlimfe3(1:jpi, 1:jpj, 1:jpk) ) 807 806 pnlimfe3(:,:,: ) = 0.0 !! 808 807 ENDIF 809 808 IF( med_diag%PDLIMJ3%dgsave ) THEN 810 CALL wrk_alloc( jpi, jpj, jpk, pdlimj3)809 ALLOCATE( pdlimj3(1:jpi, 1:jpj, 1:jpk) ) 811 810 pdlimj3(:,:,: ) = 0.0 !! 812 811 ENDIF 813 812 IF( med_diag%PDLIMN3%dgsave ) THEN 814 CALL wrk_alloc( jpi, jpj, jpk, pdlimn3)813 ALLOCATE( pdlimn3(1:jpi, 1:jpj, 1:jpk) ) 815 814 pdlimn3(:,:,: ) = 0.0 !! 816 815 ENDIF 817 816 IF( med_diag%PDLIMFE3%dgsave ) THEN 818 CALL wrk_alloc( jpi, jpj, jpk, pdlimfe3)817 ALLOCATE( pdlimfe3(1:jpi, 1:jpj, 1:jpk) ) 819 818 pdlimfe3(:,:,: ) = 0.0 !! 820 819 ENDIF 821 820 IF( med_diag%PDLIMSI3%dgsave ) THEN 822 CALL wrk_alloc( jpi, jpj, jpk, pdlimsi3)821 ALLOCATE( pdlimsi3(1:jpi, 1:jpj, 1:jpk) ) 823 822 pdlimsi3(:,:,: ) = 0.0 !! 824 823 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.