Changeset 15353 for NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE
- Timestamp:
- 2021-10-12T13:42:06+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA/diaregmean.F90
r15343 r15353 464 464 INTEGER :: maskno,jj,ji,jk,jm,nreg ! indices of mask, i and j, and number of regions 465 465 466 467 CHARACTER (len=120) :: tmp_name 468 CHARACTER (len=120), DIMENSION(19) :: name_dat_mat 469 CHARACTER (len=120), DIMENSION(4) :: name_AR5_mat 470 CHARACTER (len=120), DIMENSION(7) :: name_SBC_mat 471 INTEGER :: vi 472 LOGICAL :: do_reg_mean 473 REAL(wp), DIMENSION(19) :: output_mulitpler_dat_mat 474 REAL(wp), DIMENSION(4) :: output_mulitpler_AR5_mat 475 REAL(wp), DIMENSION(7) :: output_mulitpler_SBC_mat 476 477 466 478 #if defined key_fabm 467 479 INTEGER :: jn ,tmp_dummy ! set masked values … … 472 484 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwtmbBGC ! temporary BGC workspace 473 485 474 LOGICAL :: verbose 486 LOGICAL :: verbose 475 487 verbose = .FALSE. 476 488 tmp_val = 0 … … 490 502 CALL ctl_stop('STOP', 'dia_regmean: timestep must give MOD(3600,rdt) = 0 otherwise no hourly values are possible') 491 503 ENDIF 504 505 !!IF(lwp ) WRITE(numout,*) 'JT! test! dia_wri_region_mean instantaneous values!!!' 506 !!i_steps = 1 507 !!IF(lwp ) WRITE(numout,*) 'JT! test! dia_wri_region_mean instantaneous values!!!' 492 508 493 509 ! Every time step, add physical, SBC, PEA, MLD terms to create hourly sums. … … 536 552 537 553 tmp_field_mat(:,:,1) = tmp_field_mat(:,:,1) + (zwtmbT(:,:,1)*tmask(:,:,1)) !sst 554 name_dat_mat(1) = 'sst' 538 555 tmp_field_mat(:,:,2) = tmp_field_mat(:,:,2) + (zwtmbT(:,:,2)*tmask(:,:,1)) !nbt 556 name_dat_mat(2) = 'nbt' 539 557 tmp_field_mat(:,:,3) = tmp_field_mat(:,:,3) + (zwtmbT(:,:,3)*tmask(:,:,1)) !dft 558 name_dat_mat(3) = 'dft' 540 559 541 560 tmp_field_mat(:,:,4) = tmp_field_mat(:,:,4) + (zwtmbT(:,:,4)*tmask(:,:,1)) !zat 561 name_dat_mat(4) = 'zat' 542 562 tmp_field_mat(:,:,5) = tmp_field_mat(:,:,5) + (zwtmbT(:,:,5)*tmask(:,:,1)) !vat 563 name_dat_mat(5) = 'vat' 543 564 tmp_field_mat(:,:,6) = tmp_field_mat(:,:,6) + ((zwtmbT(:,:,6)*tmask(:,:,1)*4.2e3))! heat 565 name_dat_mat(6) = 'heat' 544 566 545 567 tmp_field_mat(:,:,7) = tmp_field_mat(:,:,7) + (zwtmbS(:,:,1)*tmask(:,:,1)) !sss 568 name_dat_mat(7) = 'sss' 546 569 tmp_field_mat(:,:,8) = tmp_field_mat(:,:,8) + (zwtmbS(:,:,2)*tmask(:,:,1)) !nbs 570 name_dat_mat(8) = 'nbs' 547 571 tmp_field_mat(:,:,9) = tmp_field_mat(:,:,9) + (zwtmbS(:,:,3)*tmask(:,:,1)) !dfs 572 name_dat_mat(9) = 'dfs' 548 573 549 574 tmp_field_mat(:,:,10) = tmp_field_mat(:,:,10) + (zwtmbS(:,:,4)*tmask(:,:,1)) !zas 575 name_dat_mat(10) = 'zas' 550 576 tmp_field_mat(:,:,11) = tmp_field_mat(:,:,11) + (zwtmbS(:,:,5)*tmask(:,:,1)) !vas 577 name_dat_mat(11) = 'vas' 551 578 tmp_field_mat(:,:,12) = tmp_field_mat(:,:,12) + (zwtmbS(:,:,6)*tmask(:,:,1)) !salt 579 name_dat_mat(12) = 'salt' 552 580 553 581 tmp_field_mat(:,:,13) = tmp_field_mat(:,:,13) + (zwtmb1(:,:,5)*tmask(:,:,1))!vol 582 name_dat_mat(13) = 'vol' 554 583 tmp_field_mat(:,:,14) = tmp_field_mat(:,:,14) + (zwtmb1(:,:,6)*tmask(:,:,1))!mass 584 name_dat_mat(14) = 'mass' 555 585 556 586 tmp_field_mat(:,:,15) = tmp_field_mat(:,:,15) + (sshn(:,:)*tmask(:,:,1)) !ssh 587 name_dat_mat(15) = 'ssh' 557 588 558 589 !JT CALL wrk_dealloc( jpi , jpj, 6 , zwtmbT ) … … 567 598 !JT MLD ENDIF 568 599 600 name_dat_mat(16) = 'mldkara' 601 569 602 IF( ln_diaregmean_pea ) THEN 570 603 tmp_field_mat(:,:,17) = tmp_field_mat(:,:,17) + (pea(:,:)*tmask(:,:,1)) !pea … … 572 605 tmp_field_mat(:,:,19) = tmp_field_mat(:,:,19) + (peas(:,:)*tmask(:,:,1)) !peas 573 606 ENDIF 607 name_dat_mat(17) = 'pea' 608 name_dat_mat(18) = 'peat' 609 name_dat_mat(19) = 'peas' 574 610 575 611 IF( ln_diaregmean_diaar5 ) THEN 576 612 tmp_field_AR5_mat(:,:,1) = tmp_field_AR5_mat(:,:,1) + (sshsteric_mat(:,:)*tmask(:,:,1)) 613 name_AR5_mat(1) = 'ssh_steric' 577 614 tmp_field_AR5_mat(:,:,2) = tmp_field_AR5_mat(:,:,2) + (sshthster_mat(:,:)*tmask(:,:,1)) 615 name_AR5_mat(2) = 'ssh_thermosteric' 578 616 tmp_field_AR5_mat(:,:,3) = tmp_field_AR5_mat(:,:,3) + (sshhlster_mat(:,:)*tmask(:,:,1)) 617 name_AR5_mat(3) = 'ssh_halosteric' 579 618 tmp_field_AR5_mat(:,:,4) = tmp_field_AR5_mat(:,:,4) + (zbotpres_mat(:,:)*tmask(:,:,1)) 619 name_AR5_mat(4) = 'bot_pres' 580 620 ENDIF 581 621 622 582 623 IF( ln_diaregmean_diasbc ) THEN 583 624 tmp_field_SBC_mat(:,:,1) = tmp_field_SBC_mat(:,:,1) + ((qsr + qns)*tmask(:,:,1)) 625 name_SBC_mat(1) = 'qt' 584 626 tmp_field_SBC_mat(:,:,2) = tmp_field_SBC_mat(:,:,2) + (qsr*tmask(:,:,1)) 627 name_SBC_mat(2) = 'qsr' 585 628 tmp_field_SBC_mat(:,:,3) = tmp_field_SBC_mat(:,:,3) + (qns*tmask(:,:,1)) 629 name_SBC_mat(3) = 'qns' 586 630 tmp_field_SBC_mat(:,:,4) = tmp_field_SBC_mat(:,:,4) + (emp*tmask(:,:,1)) 631 name_SBC_mat(4) = 'emp' 587 632 tmp_field_SBC_mat(:,:,5) = tmp_field_SBC_mat(:,:,5) + (wndm*tmask(:,:,1)) 633 name_SBC_mat(5) = 'wspd' 588 634 tmp_field_SBC_mat(:,:,6) = tmp_field_SBC_mat(:,:,6) + (pressnow*tmask(:,:,1)) 635 name_SBC_mat(6) = 'mslp' 589 636 tmp_field_SBC_mat(:,:,7) = tmp_field_SBC_mat(:,:,7) + (rnf*tmask(:,:,1)) 637 name_SBC_mat(7) = 'rnf' 590 638 ENDIF 591 639 640 output_mulitpler_dat_mat(:) = 1. 641 output_mulitpler_dat_mat(6) = 1e-12 642 output_mulitpler_dat_mat(12) = 1e-12 643 output_mulitpler_AR5_mat(:) = 1. 644 output_mulitpler_SBC_mat(:) = 1. 645 646 IF(lwp) THEN 647 648 649 DO vi=1,19 ! State loop 650 WRITE(numout,*) 'JT dia_regmean SBC variable : ',TRIM( name_dat_mat(vi) ) 651 END DO 652 DO vi=1,4 ! State loop 653 WRITE(numout,*) 'JT dia_regmean SBC variable : ',TRIM( name_AR5_mat(vi) ) 654 END DO 655 DO vi=1,7 ! State loop 656 WRITE(numout,*) 'JT dia_regmean SBC variable : ',TRIM( name_SBC_mat(vi) ) 657 END DO 658 ENDIF 592 659 593 660 … … 598 665 IF ( MOD( kt, i_steps ) == 0 .and. kt .ne. nn_it000 ) THEN 599 666 600 601 CALL dia_wri_region_mean(kt, "sst" , tmp_field_mat(:,:,1)/real(tmp_field_cnt,wp)) 602 CALL dia_wri_region_mean(kt, "nbt" , tmp_field_mat(:,:,2)/real(tmp_field_cnt,wp)) 603 CALL dia_wri_region_mean(kt, "dft" , tmp_field_mat(:,:,3)/real(tmp_field_cnt,wp)) 604 605 CALL dia_wri_region_mean(kt, "zat" , tmp_field_mat(:,:,4)/real(tmp_field_cnt,wp)) 606 CALL dia_wri_region_mean(kt, "vat" , tmp_field_mat(:,:,5)/real(tmp_field_cnt,wp)) 607 CALL dia_wri_region_mean(kt, "heat" , tmp_field_mat(:,:,6)/real(tmp_field_cnt,wp)/1e12) 608 609 CALL dia_wri_region_mean(kt, "sss" , tmp_field_mat(:,:,7)/real(tmp_field_cnt,wp)) 610 CALL dia_wri_region_mean(kt, "nbs" , tmp_field_mat(:,:,8)/real(tmp_field_cnt,wp)) 611 CALL dia_wri_region_mean(kt, "dfs" , tmp_field_mat(:,:,9)/real(tmp_field_cnt,wp)) 612 613 CALL dia_wri_region_mean(kt, "zas" , tmp_field_mat(:,:,10)/real(tmp_field_cnt,wp)) 614 CALL dia_wri_region_mean(kt, "vas" , tmp_field_mat(:,:,11)/real(tmp_field_cnt,wp)) 615 CALL dia_wri_region_mean(kt, "salt" , tmp_field_mat(:,:,12)/real(tmp_field_cnt,wp)/1e12) 616 617 CALL dia_wri_region_mean(kt, "vol" , tmp_field_mat(:,:,13)/real(tmp_field_cnt,wp)) 618 CALL dia_wri_region_mean(kt, "mass" , tmp_field_mat(:,:,14)/real(tmp_field_cnt,wp)) 619 620 CALL dia_wri_region_mean(kt, "ssh" , tmp_field_mat(:,:,15)/real(tmp_field_cnt,wp)) 621 622 623 IF( ln_diaregmean_karamld ) THEN 624 CALL dia_wri_region_mean(kt, "mldkara" , tmp_field_mat(:,:,16)/real(tmp_field_cnt,wp)) ! tm 667 668 ! DO vi=1,19 ! State loop 669 670 ! do_reg_mean = .TRUE. 671 672 ! IF (vi == 16) THEN 673 ! IF( .not. ln_diaregmean_karamld ) do_reg_mean = .FALSE. 674 ! ENDIF 675 676 ! IF ((vi == 17) .OR. (vi == 18) .OR. (vi == 19) ) THEN 677 ! IF( .not. ln_diaregmean_pea ) do_reg_mean = .FALSE. 678 ! ENDIF 679 680 ! tmp_name=TRIM( name_dat_mat(vi) ) 681 ! IF ( do_reg_mean ) THEN 682 ! IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 683 ! & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 684 ! & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 685 ! & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 686 ! & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 687 ! & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 688 689 ! CALL dia_wri_region_mean(kt, TRIM(tmp_name) , output_mulitpler_dat_mat(vi)*tmp_field_mat(:,:,vi)/real(tmp_field_cnt,wp)) 690 ! WRITE(numout,*) 'JT dia_regmean SBC variable - region mean: ',TRIM( name_dat_mat(vi) ),';' 691 ! ELSE 692 ! WRITE(numout,*) 'JT dia_regmean SBC variable - no iom_use: ',TRIM( name_dat_mat(vi) ),';' 693 ! ENDIF 694 ! ELSE 695 ! WRITE(numout,*) 'JT dia_regmean SBC variable - no do_reg_mean: ',TRIM( name_dat_mat(vi) ),';',ln_diaregmean_karamld,ln_diaregmean_pea 696 ! ENDIF 697 ! tmp_name="" 698 ! END DO 699 ! 700 ! tmp_field_mat(:,:,:) = 0. 701 702 703 tmp_name="sst" 704 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 705 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 706 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 707 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 708 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 709 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 710 711 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,1)/real(tmp_field_cnt,wp)) 712 ENDIF 713 tmp_name="" 714 715 tmp_name="nbt" 716 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 717 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 718 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 719 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 720 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 721 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 722 723 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,2)/real(tmp_field_cnt,wp)) 724 ENDIF 725 tmp_name="" 726 727 tmp_name="dft" 728 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 729 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 730 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 731 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 732 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 733 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 734 735 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,3)/real(tmp_field_cnt,wp)) 736 ENDIF 737 tmp_name="" 738 739 740 tmp_name="zat" 741 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 742 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 743 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 744 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 745 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 746 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 747 748 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,4)/real(tmp_field_cnt,wp)) 749 ENDIF 750 tmp_name="" 751 752 753 tmp_name="vat" 754 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 755 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 756 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 757 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 758 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 759 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 760 761 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,5)/real(tmp_field_cnt,wp)) 762 ENDIF 763 tmp_name="" 764 765 766 tmp_name="heat" 767 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 768 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 769 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 770 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 771 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 772 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 773 774 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,6)/real(tmp_field_cnt,wp)/1e12) 775 ENDIF 776 tmp_name="" 777 778 tmp_name="sss" 779 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 780 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 781 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 782 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 783 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 784 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 785 786 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,7)/real(tmp_field_cnt,wp)) 787 ENDIF 788 tmp_name="" 789 790 tmp_name="nbs" 791 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 792 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 793 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 794 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 795 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 796 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 797 798 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,8)/real(tmp_field_cnt,wp)) 799 ENDIF 800 tmp_name="" 801 802 tmp_name="dfs" 803 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 804 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 805 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 806 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 807 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 808 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 809 810 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,9)/real(tmp_field_cnt,wp)) 811 ENDIF 812 tmp_name="" 813 814 815 tmp_name="zas" 816 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 817 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 818 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 819 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 820 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 821 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 822 823 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,10)/real(tmp_field_cnt,wp)) 824 ENDIF 825 tmp_name="" 826 827 828 tmp_name="vas" 829 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 830 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 831 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 832 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 833 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 834 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 835 836 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,11)/real(tmp_field_cnt,wp)) 837 ENDIF 838 tmp_name="" 839 840 841 tmp_name="salt" 842 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 843 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 844 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 845 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 846 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 847 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 848 849 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,12)/real(tmp_field_cnt,wp)/1e12) 850 ENDIF 851 tmp_name="" 852 853 tmp_name="vol" 854 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 855 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 856 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 857 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 858 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 859 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 860 861 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,13)/real(tmp_field_cnt,wp)) 862 ENDIF 863 tmp_name="" 864 865 866 tmp_name="mass" 867 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 868 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 869 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 870 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 871 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 872 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 873 874 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,14)/real(tmp_field_cnt,wp)) 875 ENDIF 876 tmp_name="" 877 878 879 tmp_name="ssh" 880 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 881 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 882 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 883 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 884 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 885 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 886 887 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,15)/real(tmp_field_cnt,wp)) 888 ENDIF 889 tmp_name="" 890 891 892 893 894 895 896 !CALL dia_wri_region_mean(kt, "sst" , tmp_field_mat(:,:,1)/real(tmp_field_cnt,wp)) 897 !CALL dia_wri_region_mean(kt, "nbt" , tmp_field_mat(:,:,2)/real(tmp_field_cnt,wp)) 898 !CALL dia_wri_region_mean(kt, "dft" , tmp_field_mat(:,:,3)/real(tmp_field_cnt,wp)) 899 900 !CALL dia_wri_region_mean(kt, "zat" , tmp_field_mat(:,:,4)/real(tmp_field_cnt,wp)) 901 !CALL dia_wri_region_mean(kt, "vat" , tmp_field_mat(:,:,5)/real(tmp_field_cnt,wp)) 902 !CALL dia_wri_region_mean(kt, "heat" , tmp_field_mat(:,:,6)/real(tmp_field_cnt,wp)/1e12) 903 904 !CALL dia_wri_region_mean(kt, "sss" , tmp_field_mat(:,:,7)/real(tmp_field_cnt,wp)) 905 !CALL dia_wri_region_mean(kt, "nbs" , tmp_field_mat(:,:,8)/real(tmp_field_cnt,wp)) 906 !CALL dia_wri_region_mean(kt, "dfs" , tmp_field_mat(:,:,9)/real(tmp_field_cnt,wp)) 907 908 !CALL dia_wri_region_mean(kt, "zas" , tmp_field_mat(:,:,10)/real(tmp_field_cnt,wp)) 909 !CALL dia_wri_region_mean(kt, "vas" , tmp_field_mat(:,:,11)/real(tmp_field_cnt,wp)) 910 !CALL dia_wri_region_mean(kt, "salt" , tmp_field_mat(:,:,12)/real(tmp_field_cnt,wp)/1e12) 911 912 !CALL dia_wri_region_mean(kt, "vol" , tmp_field_mat(:,:,13)/real(tmp_field_cnt,wp)) 913 !CALL dia_wri_region_mean(kt, "mass" , tmp_field_mat(:,:,14)/real(tmp_field_cnt,wp)) 914 915 !CALL dia_wri_region_mean(kt, "ssh" , tmp_field_mat(:,:,15)/real(tmp_field_cnt,wp)) 916 917 918 IF( ln_diaregmean_karamld ) THEN 919 tmp_name="mldkara" 920 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 921 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 922 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 923 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 924 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 925 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 926 927 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,16)/real(tmp_field_cnt,wp)) 928 ENDIF 929 tmp_name="" 930 931 !CALL dia_wri_region_mean(kt, "mldkara" , tmp_field_mat(:,:,16)/real(tmp_field_cnt,wp)) ! tm 625 932 ENDIF 626 933 627 934 IF( ln_diaregmean_pea ) THEN 628 CALL dia_wri_region_mean(kt, "pea" , tmp_field_mat(:,:,17)/real(tmp_field_cnt,wp)) 629 CALL dia_wri_region_mean(kt, "peat" , tmp_field_mat(:,:,18)/real(tmp_field_cnt,wp)) 630 CALL dia_wri_region_mean(kt, "peas" , tmp_field_mat(:,:,19)/real(tmp_field_cnt,wp)) ! tmb 935 936 tmp_name="pea" 937 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 938 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 939 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 940 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 941 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 942 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 943 944 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,17)/real(tmp_field_cnt,wp)) 945 ENDIF 946 tmp_name="" 947 948 tmp_name="peat" 949 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 950 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 951 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 952 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 953 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 954 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 955 956 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,18)/real(tmp_field_cnt,wp)) 957 ENDIF 958 tmp_name="" 959 960 961 tmp_name="peas" 962 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 963 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 964 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 965 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 966 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 967 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 968 969 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_mat(:,:,19)/real(tmp_field_cnt,wp)) 970 ENDIF 971 tmp_name="" 972 973 974 !CALL dia_wri_region_mean(kt, "pea" , tmp_field_mat(:,:,17)/real(tmp_field_cnt,wp)) 975 !CALL dia_wri_region_mean(kt, "peat" , tmp_field_mat(:,:,18)/real(tmp_field_cnt,wp)) 976 !CALL dia_wri_region_mean(kt, "peas" , tmp_field_mat(:,:,19)/real(tmp_field_cnt,wp)) ! tmb 631 977 ENDIF 632 978 … … 635 981 IF( ln_diaregmean_diaar5 ) THEN 636 982 637 CALL dia_wri_region_mean(kt, "ssh_steric" , tmp_field_AR5_mat(:,:,1)/real(tmp_field_cnt,wp)) 638 CALL dia_wri_region_mean(kt, "ssh_thermosteric", tmp_field_AR5_mat(:,:,2)/real(tmp_field_cnt,wp)) 639 CALL dia_wri_region_mean(kt, "ssh_halosteric" , tmp_field_AR5_mat(:,:,3)/real(tmp_field_cnt,wp)) 640 CALL dia_wri_region_mean(kt, "bot_pres" , tmp_field_AR5_mat(:,:,4)/real(tmp_field_cnt,wp)) 983 tmp_name="ssh_steric" 984 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 985 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 986 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 987 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 988 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 989 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 990 991 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_AR5_mat(:,:,1)/real(tmp_field_cnt,wp)) 992 ENDIF 993 tmp_name="" 994 995 tmp_name="ssh_thermosteric" 996 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 997 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 998 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 999 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1000 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1001 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1002 1003 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_AR5_mat(:,:,2)/real(tmp_field_cnt,wp)) 1004 ENDIF 1005 tmp_name="" 1006 1007 tmp_name="ssh_halosteric" 1008 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1009 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1010 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1011 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1012 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1013 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1014 1015 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_AR5_mat(:,:,3)/real(tmp_field_cnt,wp)) 1016 ENDIF 1017 tmp_name="" 1018 1019 tmp_name="bot_pres" 1020 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1021 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1022 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1023 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1024 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1025 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1026 1027 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_AR5_mat(:,:,4)/real(tmp_field_cnt,wp)) 1028 ENDIF 1029 tmp_name="" 1030 1031 !CALL dia_wri_region_mean(kt, "ssh_steric" , tmp_field_AR5_mat(:,:,1)/real(tmp_field_cnt,wp)) 1032 !CALL dia_wri_region_mean(kt, "ssh_thermosteric", tmp_field_AR5_mat(:,:,2)/real(tmp_field_cnt,wp)) 1033 !CALL dia_wri_region_mean(kt, "ssh_halosteric" , tmp_field_AR5_mat(:,:,3)/real(tmp_field_cnt,wp)) 1034 !CALL dia_wri_region_mean(kt, "bot_pres" , tmp_field_AR5_mat(:,:,4)/real(tmp_field_cnt,wp)) 641 1035 tmp_field_AR5_mat(:,:,:) = 0. 642 1036 ENDIF … … 644 1038 IF( ln_diaregmean_diasbc ) THEN 645 1039 646 CALL dia_wri_region_mean(kt, "qt" , tmp_field_SBC_mat(:,:,1)/real(tmp_field_cnt,wp)) 647 CALL dia_wri_region_mean(kt, "qsr" , tmp_field_SBC_mat(:,:,2)/real(tmp_field_cnt,wp)) 648 CALL dia_wri_region_mean(kt, "qns" , tmp_field_SBC_mat(:,:,3)/real(tmp_field_cnt,wp)) 649 CALL dia_wri_region_mean(kt, "emp" , tmp_field_SBC_mat(:,:,4)/real(tmp_field_cnt,wp)) 650 CALL dia_wri_region_mean(kt, "wspd" , tmp_field_SBC_mat(:,:,5)/real(tmp_field_cnt,wp)) 651 CALL dia_wri_region_mean(kt, "mslp" , tmp_field_SBC_mat(:,:,6)/real(tmp_field_cnt,wp)) 652 CALL dia_wri_region_mean(kt, "rnf" , tmp_field_SBC_mat(:,:,7)/real(tmp_field_cnt,wp)) 1040 1041 1042 tmp_name="qt" 1043 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1044 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1045 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1046 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1047 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1048 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1049 1050 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,1)/real(tmp_field_cnt,wp)) 1051 ENDIF 1052 tmp_name="" 1053 1054 tmp_name="qsr" 1055 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1056 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1057 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1058 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1059 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1060 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1061 1062 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,2)/real(tmp_field_cnt,wp)) 1063 ENDIF 1064 tmp_name="" 1065 1066 tmp_name="qns" 1067 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1068 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1069 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1070 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1071 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1072 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1073 1074 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,3)/real(tmp_field_cnt,wp)) 1075 ENDIF 1076 tmp_name="" 1077 1078 tmp_name="emp" 1079 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1080 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1081 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1082 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1083 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1084 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1085 1086 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,4)/real(tmp_field_cnt,wp)) 1087 ENDIF 1088 tmp_name="" 1089 1090 tmp_name="wspd" 1091 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1092 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1093 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1094 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1095 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1096 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1097 1098 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,5)/real(tmp_field_cnt,wp)) 1099 ENDIF 1100 tmp_name="" 1101 1102 tmp_name="mslp" 1103 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1104 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1105 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1106 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1107 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1108 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1109 1110 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,6)/real(tmp_field_cnt,wp)) 1111 ENDIF 1112 tmp_name="" 1113 1114 tmp_name="rnf" 1115 IF (iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) .OR. & 1116 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) .OR. & 1117 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_var')))) .OR. & 1118 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) .OR. & 1119 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) .OR. & 1120 & iom_use(trim( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) ) THEN 1121 1122 CALL dia_wri_region_mean(kt, TRIM(tmp_name) , tmp_field_SBC_mat(:,:,7)/real(tmp_field_cnt,wp)) 1123 ENDIF 1124 tmp_name="" 1125 1126 !CALL dia_wri_region_mean(kt, "qt" , tmp_field_SBC_mat(:,:,1)/real(tmp_field_cnt,wp)) 1127 !CALL dia_wri_region_mean(kt, "qsr" , tmp_field_SBC_mat(:,:,2)/real(tmp_field_cnt,wp)) 1128 !CALL dia_wri_region_mean(kt, "qns" , tmp_field_SBC_mat(:,:,3)/real(tmp_field_cnt,wp)) 1129 !CALL dia_wri_region_mean(kt, "emp" , tmp_field_SBC_mat(:,:,4)/real(tmp_field_cnt,wp)) 1130 !CALL dia_wri_region_mean(kt, "wspd" , tmp_field_SBC_mat(:,:,5)/real(tmp_field_cnt,wp)) 1131 !CALL dia_wri_region_mean(kt, "mslp" , tmp_field_SBC_mat(:,:,6)/real(tmp_field_cnt,wp)) 1132 !CALL dia_wri_region_mean(kt, "rnf" , tmp_field_SBC_mat(:,:,7)/real(tmp_field_cnt,wp)) 653 1133 tmp_field_SBC_mat(:,:,:) = 0. 1134 654 1135 ENDIF 655 1136 … … 1027 1508 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean ready to start iom_put: ',trim(tmp_name) 1028 1509 1029 1030 DO jm = 1,n_regions_output1031 zrmet_val = zrmet_ave(jm)1032 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e161033 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e161034 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e201035 zrmet_out(:,:,jm) = zrmet_val1036 END DO1037 1510 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_ave')) 1038 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1039 CALL iom_put(trim(tmp_name_iom), zrmet_out ) 1040 zrmet_out(:,:,:) = 0 1041 zrmet_val = 0 1042 tmp_name_iom = '' 1043 1044 DO jm = 1,n_regions_output 1045 zrmet_val = zrmet_tot(jm) 1046 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1047 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1048 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1049 zrmet_out(:,:,jm) = zrmet_val 1050 END DO 1511 IF (iom_use(trim(tmp_name_iom))) THEN 1512 DO jm = 1,n_regions_output 1513 zrmet_val = zrmet_ave(jm) 1514 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1515 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1516 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1517 zrmet_out(:,:,jm) = zrmet_val 1518 END DO 1519 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1520 CALL iom_put(trim(tmp_name_iom), zrmet_out ) 1521 zrmet_out(:,:,:) = 0 1522 zrmet_val = 0 1523 tmp_name_iom = '' 1524 ENDIF 1525 1051 1526 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_tot')) 1052 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1053 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1054 zrmet_out(:,:,:) = 0 1055 zrmet_val = 0 1056 tmp_name_iom = '' 1057 1058 DO jm = 1,n_regions_output 1059 zrmet_val = zrmet_var(jm) 1060 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1061 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1062 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1063 zrmet_out(:,:,jm) = zrmet_val 1064 END DO 1527 IF (iom_use(trim(tmp_name_iom))) THEN 1528 DO jm = 1,n_regions_output 1529 zrmet_val = zrmet_tot(jm) 1530 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1531 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1532 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1533 zrmet_out(:,:,jm) = zrmet_val 1534 END DO 1535 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1536 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1537 zrmet_out(:,:,:) = 0 1538 zrmet_val = 0 1539 tmp_name_iom = '' 1540 ENDIF 1541 1065 1542 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_var')) 1066 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1067 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1068 zrmet_out(:,:,:) = 0 1069 zrmet_val = 0 1070 tmp_name_iom = '' 1071 1072 DO jm = 1,n_regions_output 1073 zrmet_val = zrmet_cnt(jm) 1074 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1075 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1076 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1077 zrmet_out(:,:,jm) = zrmet_val 1078 END DO 1543 IF (iom_use(trim(tmp_name_iom))) THEN 1544 DO jm = 1,n_regions_output 1545 zrmet_val = zrmet_var(jm) 1546 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1547 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1548 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1549 zrmet_out(:,:,jm) = zrmet_val 1550 END DO 1551 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1552 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1553 zrmet_out(:,:,:) = 0 1554 zrmet_val = 0 1555 tmp_name_iom = '' 1556 ENDIF 1557 1079 1558 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_cnt')) 1080 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1081 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1082 zrmet_out(:,:,:) = 0 1083 zrmet_val = 0 1084 tmp_name_iom = '' 1085 1086 DO jm = 1,n_regions_output 1087 zrmet_val = zrmet_reg_id(jm) 1088 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1089 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1090 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1091 zrmet_out(:,:,jm) = zrmet_val 1092 END DO 1559 IF (iom_use(trim(tmp_name_iom))) THEN 1560 DO jm = 1,n_regions_output 1561 zrmet_val = zrmet_cnt(jm) 1562 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1563 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1564 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1565 zrmet_out(:,:,jm) = zrmet_val 1566 END DO 1567 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1568 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1569 zrmet_out(:,:,:) = 0 1570 zrmet_val = 0 1571 tmp_name_iom = '' 1572 ENDIF 1573 1093 1574 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')) 1094 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1095 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1096 zrmet_out(:,:,:) = 0 1097 zrmet_val = 0 1098 tmp_name_iom = '' 1099 1100 DO jm = 1,n_regions_output 1101 zrmet_val = zrmet_mask_id(jm) 1102 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1103 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1104 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1105 zrmet_out(:,:,jm) = zrmet_val 1106 END DO 1575 IF (iom_use(trim(tmp_name_iom))) THEN 1576 DO jm = 1,n_regions_output 1577 zrmet_val = zrmet_reg_id(jm) 1578 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1579 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1580 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1581 zrmet_out(:,:,jm) = zrmet_val 1582 END DO 1583 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1584 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1585 zrmet_out(:,:,:) = 0 1586 zrmet_val = 0 1587 tmp_name_iom = '' 1588 ENDIF 1589 1107 1590 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')) 1108 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1109 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1110 zrmet_out(:,:,:) = 0 1111 zrmet_val = 0 1112 tmp_name_iom = '' 1591 IF (iom_use(trim(tmp_name_iom))) THEN 1592 DO jm = 1,n_regions_output 1593 zrmet_val = zrmet_mask_id(jm) 1594 ! if (zrmet_val .LT. -1e16) zrmet_val = -1e16 1595 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1596 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1597 zrmet_out(:,:,jm) = zrmet_val 1598 END DO 1599 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1600 CALL iom_put( trim(tmp_name_iom), zrmet_out ) 1601 zrmet_out(:,:,:) = 0 1602 zrmet_val = 0 1603 tmp_name_iom = '' 1604 ENDIF 1605 1113 1606 ELSE 1114 1607 … … 1121 1614 1122 1615 DO jm = 1,9 1123 CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_ave')), dummy_zrmet ) 1124 CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_tot')), dummy_zrmet ) 1125 CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_var')), dummy_zrmet ) 1126 CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')), dummy_zrmet ) 1127 CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')), dummy_zrmet ) 1128 CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')), dummy_zrmet ) 1616 !IF iom_use(trim(trim(trim("reg_") // trim(tmp_name) // trim('_ave')))) CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_ave')), dummy_zrmet ) 1617 !IF iom_use(trim(trim(trim("reg_") // trim(tmp_name) // trim('_tot')))) CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_tot')), dummy_zrmet ) 1618 !IF iom_use(trim(trim(trim("reg_") // trim(tmp_name) // trim('_var')))) CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_var')), dummy_zrmet ) 1619 !IF iom_use(trim(trim(trim("reg_") // trim(tmp_name) // trim('_cnt')))) CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_cnt')), dummy_zrmet ) 1620 !IF iom_use(trim(trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')))) CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')), dummy_zrmet ) 1621 !IF iom_use(trim(trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')))) CALL iom_put( trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')), dummy_zrmet ) 1622 1623 1624 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_ave')) 1625 IF (iom_use(trim(tmp_name_iom))) THEN 1626 CALL iom_put( trim(tmp_name_iom), dummy_zrmet ) 1627 ENDIF 1628 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_tot')) 1629 IF (iom_use(trim(tmp_name_iom))) THEN 1630 CALL iom_put( trim(tmp_name_iom), dummy_zrmet ) 1631 ENDIF 1632 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_var')) 1633 IF (iom_use(trim(tmp_name_iom))) THEN 1634 CALL iom_put( trim(tmp_name_iom), dummy_zrmet ) 1635 ENDIF 1636 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_cnt')) 1637 IF (iom_use(trim(tmp_name_iom))) THEN 1638 CALL iom_put( trim(tmp_name_iom), dummy_zrmet ) 1639 ENDIF 1640 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_reg_id')) 1641 IF (iom_use(trim(tmp_name_iom))) THEN 1642 CALL iom_put( trim(tmp_name_iom), dummy_zrmet ) 1643 ENDIF 1644 tmp_name_iom = trim(trim("reg_") // trim(tmp_name) // trim('_mask_id')) 1645 IF (iom_use(trim(tmp_name_iom))) THEN 1646 CALL iom_put( trim(tmp_name_iom), dummy_zrmet ) 1647 ENDIF 1648 1129 1649 END DO 1130 1650
Note: See TracChangeset
for help on using the changeset viewer.