Changeset 15397
- Timestamp:
- 2021-10-19T10:22:46+02:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA/diadct.F90
r15378 r15397 84 84 LOGICAL, PUBLIC :: ln_diadct 85 85 86 CHARACTER(len=60), PUBLIC :: diadct_endian 87 86 88 ! JT 87 89 … … 175 177 !! 176 178 !!--------------------------------------------------------------------- 179 180 ! 177 181 NAMELIST/namdct/ln_diadct,ln_NOOS,nn_dct,ln_dct_h,ln_dct_ascii,nn_secdebug,ln_dct_calc_noos_day,ln_dct_calc_noos_hr,& 178 & nn_dct_iom_cont,ln_dct_day_25hr,ln_dct_verbose 182 & nn_dct_iom_cont,ln_dct_day_25hr,ln_dct_verbose,diadct_endian 179 183 INTEGER :: ios,jsec ! Local integer output status for namelist read 180 184 CHARACTER(len=3) :: jsec_str ! name of the jsec 181 185 LOGICAL :: verbose 182 186 verbose = ln_dct_verbose!.false. 187 188 diadct_endian='BIG_ENDIAN' 183 189 184 190 IF( ln_timing ) CALL timing_start('dia_dct_init') … … 649 655 INTEGER :: jsec, jpt ! dummy loop indices 650 656 INTEGER :: ierr ! error for allocate 651 657 !JT 658 INTEGER :: fsize, floc ! exit section_ijglobal.diadct gracefully. 659 !JT 652 660 INTEGER, DIMENSION(2) :: icoord 653 661 CHARACTER(len=160) :: clname !filename … … 673 681 674 682 IF ( verbose ) write(numout,*) 'dct low-level pre open: big endian :',nproc,narea 683 684 685 ! ok with Daleys set up (ifort?) 686 !OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='NATIVE') 687 !READ(107) isec 688 !CLOSE(107) 689 !IF( lwp .AND. verbose ) write(numout,*) 'diadct readsec: NATIVE, isec',isec 690 691 !ok with Daleys set up (ifort?) 692 !OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='LITTLE_ENDIAN') 693 !READ(107) isec 694 !CLOSE(107) 695 !IF( lwp .AND. verbose ) write(numout,*) 'diadct readsec: LITTLE_ENDIAN, isec',isec 696 697 675 698 OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='BIG_ENDIAN') 676 677 !write(numout,*) 'dct low-level pre open: SWAP '678 !OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='SWAP')679 680 !write(numout,*) 'dct low-level pre open: NATIVE '681 !OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='NATIVE')682 683 699 READ(107) isec 684 700 CLOSE(107) 701 IF( lwp .AND. verbose ) write(numout,*) 'diadct readsec: BIG_ENDIAN, isec',isec 702 703 inquire(file='section_ijglobal.diadct',size=fsize) 685 704 686 705 CALL ctl_opn( numdct_in, 'section_ijglobal.diadct', 'OLD', 'UNFORMATTED', 'SEQUENTIAL', -1, numout, .TRUE. ) 706 707 !ok with Daleys set up (ifort?) 708 !CLOSE(numdct_in) 709 ! 710 !!OPEN(UNIT=numdct_in,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='BIG_ENDIAN') 711 ! 712 !OPEN(UNIT=numdct_in,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert=TRIM(diadct_endian)) 687 713 688 714 !--------------- … … 711 737 secs(jsec)%nb_point = 0 712 738 713 !read section's number / name / computing choices / classes / slopeSection / points number 714 !----------------------------------------------------------------------------------------- 715 739 740 ! ! ok with Daleys set up (ifort?) 741 ! !read section's number / name / computing choices / classes / slopeSection / points number 742 ! !----------------------------------------------------------------------------------------- 743 ! !JT 744 ! CALL FTELL(numdct_in, floc) 745 ! 746 ! IF( lwp .AND. verbose ) write(numout,*) 'diadct readsec: section_ijglobal.diadct size and location',fsize, floc 747 ! !JT 748 ! IF (floc .GE. fsize) THEN 749 ! 750 ! IF( lwp .AND. verbose )THEN 751 ! write(numout,*) 'diadct readsec: End of section_ijglobal.diadct: Exiting Gracefully' 752 ! write(numout,*) 'diadct readsec: section_ijglobal.diadct: size and location',fsize, floc 753 ! ENDIF 754 ! EXIT 755 ! ENDIF 756 716 757 READ(numdct_in,iostat=iost) isec 717 758 IF (iost .NE. 0 ) then … … 1999 2040 CHARACTER(len=3) :: noos_sect_name ! Classname 2000 2041 CHARACTER(len=25) :: noos_var_sect_name 2001 REAL(wp), ALLOCATABLE, DIMENSION(: ,:,:) :: noos_iom_dummy2042 REAL(wp), ALLOCATABLE, DIMENSION(:) :: noos_iom_dummy 2002 2043 INTEGER :: IERR 2003 2044 … … 2047 2088 IF ( nn_dct_iom_cont .eq. 1) THEN 2048 2089 max_iom_val = 1.e10 2049 ALLOCATE( noos_iom_dummy( jpi,jpj,3), STAT= ierr )2090 ALLOCATE( noos_iom_dummy(3), STAT= ierr ) 2050 2091 IF( ierr /= 0 ) CALL ctl_stop( 'dia_dct_wri_NOOS: failed to allocate noos_iom_dummy array' ) 2051 2092 ENDIF … … 2088 2129 noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_trans' 2089 2130 IF (iom_use(noos_var_sect_name)) THEN 2090 noos_iom_dummy(: ,:,:) = 0.2131 noos_iom_dummy(:) = 0. 2091 2132 tmp_iom_output(:) = 0. 2092 2133 … … 2113 2154 if ( tmp_iom_output(3) .ne. tmp_iom_output(3) ) tmp_iom_output(1) = max_iom_val*2 2114 2155 2115 noos_iom_dummy( :,:,1) = tmp_iom_output(1)2116 noos_iom_dummy( :,:,2) = tmp_iom_output(2)2117 noos_iom_dummy( :,:,3) = tmp_iom_output(3)2156 noos_iom_dummy(1) = tmp_iom_output(1) 2157 noos_iom_dummy(2) = tmp_iom_output(2) 2158 noos_iom_dummy(3) = tmp_iom_output(3) 2118 2159 2119 !noos_iom_dummy( :,:,1) = (zsumclasses( 1)+zsumclasses( 2))2120 !noos_iom_dummy( :,:,2) = zsumclasses( 1)2121 !noos_iom_dummy( :,:,3) = zsumclasses( 2)2160 !noos_iom_dummy(1) = (zsumclasses( 1)+zsumclasses( 2)) 2161 !noos_iom_dummy(2) = zsumclasses( 1) 2162 !noos_iom_dummy(3) = zsumclasses( 2) 2122 2163 2123 2164 2124 2165 2125 2166 if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 2126 CALL iom_put( noos_var_sect_name, noos_iom_dummy )2167 CALL iom_put( noos_var_sect_name, noos_iom_dummy(:) ) 2127 2168 ENDIF 2128 2169 2129 2170 noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_heat' 2130 2171 IF (iom_use(noos_var_sect_name)) THEN 2131 noos_iom_dummy(: ,:,:) = 0.2172 noos_iom_dummy(:) = 0. 2132 2173 tmp_iom_output(:) = 0. 2133 2174 … … 2154 2195 if ( tmp_iom_output(3) .ne. tmp_iom_output(3) ) tmp_iom_output(1) = max_iom_val*2 2155 2196 2156 noos_iom_dummy( :,:,1) = tmp_iom_output(1)2157 noos_iom_dummy( :,:,2) = tmp_iom_output(2)2158 noos_iom_dummy( :,:,3) = tmp_iom_output(3)2197 noos_iom_dummy(1) = tmp_iom_output(1) 2198 noos_iom_dummy(2) = tmp_iom_output(2) 2199 noos_iom_dummy(3) = tmp_iom_output(3) 2159 2200 2160 !noos_iom_dummy( :,:,1) = (zsumclasses( 7)+zsumclasses( 8))2161 !noos_iom_dummy( :,:,2) = zsumclasses( 7)2162 !noos_iom_dummy( :,:,3) = zsumclasses( 8)2201 !noos_iom_dummy(1) = (zsumclasses( 7)+zsumclasses( 8)) 2202 !noos_iom_dummy(2) = zsumclasses( 7) 2203 !noos_iom_dummy(3) = zsumclasses( 8) 2163 2204 2164 2205 if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 2165 CALL iom_put(noos_var_sect_name, noos_iom_dummy )2206 CALL iom_put(noos_var_sect_name, noos_iom_dummy(:) ) 2166 2207 ENDIF 2167 2208 2168 2209 noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_salt' 2169 2210 IF (iom_use(noos_var_sect_name)) THEN 2170 noos_iom_dummy(: ,:,:) = 0.2211 noos_iom_dummy(:) = 0. 2171 2212 tmp_iom_output(:) = 0. 2172 2213 … … 2194 2235 if ( tmp_iom_output(3) .ne. tmp_iom_output(3) ) tmp_iom_output(1) = max_iom_val*2 2195 2236 2196 noos_iom_dummy( :,:,1) = tmp_iom_output(1)2197 noos_iom_dummy( :,:,2) = tmp_iom_output(2)2198 noos_iom_dummy( :,:,3) = tmp_iom_output(3)2237 noos_iom_dummy(1) = tmp_iom_output(1) 2238 noos_iom_dummy(2) = tmp_iom_output(2) 2239 noos_iom_dummy(3) = tmp_iom_output(3) 2199 2240 2200 !noos_iom_dummy( :,:,1) = (zsumclasses( 9)+zsumclasses( 10))2201 !noos_iom_dummy( :,:,2) = zsumclasses( 9)2202 !noos_iom_dummy( :,:,3) = zsumclasses( 10)2241 !noos_iom_dummy(1) = (zsumclasses( 9)+zsumclasses( 10)) 2242 !noos_iom_dummy(2) = zsumclasses( 9) 2243 !noos_iom_dummy(3) = zsumclasses( 10) 2203 2244 2204 2245 if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 2205 CALL iom_put(noos_var_sect_name, noos_iom_dummy )2206 noos_iom_dummy(: ,:,:) = 0.2246 CALL iom_put(noos_var_sect_name, noos_iom_dummy(:) ) 2247 noos_iom_dummy(:) = 0. 2207 2248 tmp_iom_output(:) = 0. 2208 2249 ENDIF … … 2323 2364 CHARACTER(len=3) :: noos_sect_name ! Classname 2324 2365 CHARACTER(len=25) :: noos_var_sect_name 2325 REAL(wp), ALLOCATABLE, DIMENSION(: ,:,:) :: noos_iom_dummy2366 REAL(wp), ALLOCATABLE, DIMENSION(:) :: noos_iom_dummy 2326 2367 INTEGER :: IERR 2327 2368 … … 2369 2410 !IF ( nn_dct_iom_cont .EQ. 2 ) THEN 2370 2411 max_iom_val = 1.e10 2371 ALLOCATE( noos_iom_dummy( jpi,jpj,3), STAT= ierr )2412 ALLOCATE( noos_iom_dummy(3), STAT= ierr ) 2372 2413 IF( ierr /= 0 ) CALL ctl_stop( 'dia_dct_wri_NOOS: failed to allocate noos_iom_dummy array' ) 2373 2414 2374 2415 noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_trans' 2375 2416 IF (iom_use(noos_var_sect_name)) THEN 2376 noos_iom_dummy(: ,:,:) = 0.2417 noos_iom_dummy(:) = 0. 2377 2418 tmp_iom_output(:) = 0. 2378 2419 … … 2399 2440 if ( tmp_iom_output(3) .ne. tmp_iom_output(3) ) tmp_iom_output(1) = max_iom_val*2 2400 2441 2401 noos_iom_dummy( :,:,1) = tmp_iom_output(1)2402 noos_iom_dummy( :,:,2) = tmp_iom_output(2)2403 noos_iom_dummy( :,:,3) = tmp_iom_output(3)2442 noos_iom_dummy(1) = tmp_iom_output(1) 2443 noos_iom_dummy(2) = tmp_iom_output(2) 2444 noos_iom_dummy(3) = tmp_iom_output(3) 2404 2445 2405 !noos_iom_dummy( :,:,1) = (zsumclasses( 1)+zsumclasses( 2))2406 !noos_iom_dummy( :,:,2) = zsumclasses( 1)2407 !noos_iom_dummy( :,:,3) = zsumclasses( 2)2446 !noos_iom_dummy(1) = (zsumclasses( 1)+zsumclasses( 2)) 2447 !noos_iom_dummy(2) = zsumclasses( 1) 2448 !noos_iom_dummy(3) = zsumclasses( 2) 2408 2449 2409 2450 2410 2451 2411 2452 if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name,tmp_iom_output(1) 2412 CALL iom_put( noos_var_sect_name, noos_iom_dummy )2453 CALL iom_put( noos_var_sect_name, noos_iom_dummy(:) ) 2413 2454 ENDIF 2414 2455 2415 2456 noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_heat' 2416 2457 IF (iom_use(noos_var_sect_name)) THEN 2417 noos_iom_dummy(: ,:,:) = 0.2458 noos_iom_dummy(:) = 0. 2418 2459 tmp_iom_output(:) = 0. 2419 2460 … … 2440 2481 if ( tmp_iom_output(3) .ne. tmp_iom_output(3) ) tmp_iom_output(1) = max_iom_val*2 2441 2482 2442 noos_iom_dummy( :,:,1) = tmp_iom_output(1)2443 noos_iom_dummy( :,:,2) = tmp_iom_output(2)2444 noos_iom_dummy( :,:,3) = tmp_iom_output(3)2483 noos_iom_dummy(1) = tmp_iom_output(1) 2484 noos_iom_dummy(2) = tmp_iom_output(2) 2485 noos_iom_dummy(3) = tmp_iom_output(3) 2445 2486 2446 !noos_iom_dummy( :,:,1) = (zsumclasses( 7)+zsumclasses( 8))2447 !noos_iom_dummy( :,:,2) = zsumclasses( 7)2448 !noos_iom_dummy( :,:,3) = zsumclasses( 8)2487 !noos_iom_dummy(1) = (zsumclasses( 7)+zsumclasses( 8)) 2488 !noos_iom_dummy(2) = zsumclasses( 7) 2489 !noos_iom_dummy(3) = zsumclasses( 8) 2449 2490 2450 2491 if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name,tmp_iom_output(1) 2451 CALL iom_put(noos_var_sect_name, noos_iom_dummy )2492 CALL iom_put(noos_var_sect_name, noos_iom_dummy(:) ) 2452 2493 ENDIF 2453 2494 2454 2495 noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_salt' 2455 2496 IF (iom_use(noos_var_sect_name)) THEN 2456 noos_iom_dummy(: ,:,:) = 0.2497 noos_iom_dummy(:) = 0. 2457 2498 tmp_iom_output(:) = 0. 2458 2499 … … 2480 2521 if ( tmp_iom_output(3) .ne. tmp_iom_output(3) ) tmp_iom_output(1) = max_iom_val*2 2481 2522 2482 noos_iom_dummy( :,:,1) = tmp_iom_output(1)2483 noos_iom_dummy( :,:,2) = tmp_iom_output(2)2484 noos_iom_dummy( :,:,3) = tmp_iom_output(3)2523 noos_iom_dummy(1) = tmp_iom_output(1) 2524 noos_iom_dummy(2) = tmp_iom_output(2) 2525 noos_iom_dummy(3) = tmp_iom_output(3) 2485 2526 2486 !noos_iom_dummy( :,:,1) = (zsumclasses( 9)+zsumclasses( 10))2487 !noos_iom_dummy( :,:,2) = zsumclasses( 9)2488 !noos_iom_dummy( :,:,3) = zsumclasses( 10)2527 !noos_iom_dummy(1) = (zsumclasses( 9)+zsumclasses( 10)) 2528 !noos_iom_dummy(2) = zsumclasses( 9) 2529 !noos_iom_dummy(3) = zsumclasses( 10) 2489 2530 2490 2531 if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name,tmp_iom_output(1) 2491 CALL iom_put(noos_var_sect_name, noos_iom_dummy )2492 noos_iom_dummy(: ,:,:) = 0.2532 CALL iom_put(noos_var_sect_name, noos_iom_dummy(:) ) 2533 noos_iom_dummy(:) = 0. 2493 2534 tmp_iom_output(:) = 0. 2494 2535 ENDIF … … 2531 2572 CHARACTER(len=3) :: noos_sect_name ! Classname 2532 2573 CHARACTER(len=25) :: noos_var_sect_name 2533 REAL(wp), ALLOCATABLE, DIMENSION(: ,:,:) :: noos_iom_dummy2574 REAL(wp), ALLOCATABLE, DIMENSION(:) :: noos_iom_dummy 2534 2575 INTEGER :: IERR 2535 2576 LOGICAL :: verbose … … 2551 2592 write (noos_sect_name, "(I03)") ksec 2552 2593 2553 ALLOCATE( noos_iom_dummy( jpi,jpj,3), STAT= ierr )2594 ALLOCATE( noos_iom_dummy(3), STAT= ierr ) 2554 2595 IF( ierr /= 0 ) CALL ctl_stop( 'dia_dct_wri_NOOS_h: failed to allocate noos_iom_dummy array' ) 2555 2596 -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA/diaregmean.F90
r15384 r15397 916 916 REAL(wp), DIMENSION(jpi, jpj) :: internal_infield ! Internal data field 917 917 REAL(wp), ALLOCATABLE, DIMENSION(:) :: zrmet_ave,zrmet_tot,zrmet_var,zrmet_cnt,zrmet_mask_id,zrmet_reg_id ,zrmet_min,zrmet_max 918 REAL(wp), ALLOCATABLE, DIMENSION(: ,:,:) :: zrmet_out918 REAL(wp), ALLOCATABLE, DIMENSION(:) :: zrmet_out 919 919 REAL(wp), ALLOCATABLE, DIMENSION(:) :: ave_mat,tot_mat,num_mat,var_mat,ssq_mat,cnt_mat,reg_id_mat,mask_id_mat !: region_mask 920 920 !REAL(wp), ALLOCATABLE, DIMENSION(:) :: min_mat,max_mat !: region_mask … … 957 957 IF( ierr /= 0 ) CALL ctl_stop( 'dia_wri_region_mean: failed to allocate zrmet_max array' ) 958 958 959 ALLOCATE( zrmet_out( jpi,jpj,n_regions_output), STAT= ierr )959 ALLOCATE( zrmet_out(n_regions_output), STAT= ierr ) 960 960 IF( ierr /= 0 ) CALL ctl_stop( 'dia_wri_region_mean: failed to allocate zrmet_reg_id array' ) 961 961 … … 1152 1152 1153 1153 ENDIF 1154 ENDIF 1154 1155 1155 DO jm = 1,nreg1156 zrmet_ave( reg_ind_cnt) = ave_mat(jm)1157 zrmet_tot( reg_ind_cnt) = tot_mat(jm)1158 zrmet_var( reg_ind_cnt) = var_mat(jm)1159 zrmet_cnt( reg_ind_cnt) = cnt_mat(jm)1160 !zrmet_min( reg_ind_cnt) = min_mat(jm)1161 !zrmet_max( reg_ind_cnt) = max_mat(jm)1162 zrmet_reg_id( reg_ind_cnt) = reg_id_mat(jm)1163 zrmet_mask_id(reg_ind_cnt) = mask_id_mat(jm)1164 1165 reg_ind_cnt = reg_ind_cnt + 11166 END DO1167 1168 ENDIF1156 ! JT Fixed, was not meant to be inside the lwp if block 1157 DO jm = 1,nreg 1158 zrmet_ave( reg_ind_cnt) = ave_mat(jm) 1159 zrmet_tot( reg_ind_cnt) = tot_mat(jm) 1160 zrmet_var( reg_ind_cnt) = var_mat(jm) 1161 zrmet_cnt( reg_ind_cnt) = cnt_mat(jm) 1162 !zrmet_min( reg_ind_cnt) = min_mat(jm) 1163 !zrmet_max( reg_ind_cnt) = max_mat(jm) 1164 zrmet_reg_id( reg_ind_cnt) = reg_id_mat(jm) 1165 zrmet_mask_id(reg_ind_cnt) = mask_id_mat(jm) 1166 1167 reg_ind_cnt = reg_ind_cnt + 1 1168 END DO 1169 1169 1170 1170 1171 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean about to deallocated arrays for ',kt,maskno … … 1186 1187 IF ( ln_diaregmean_nc ) THEN 1187 1188 1188 zrmet_out(: ,:,:) = 01189 zrmet_out(:) = 0 1189 1190 zrmet_val = 0 1190 1191 tmp_name_iom = '' … … 1199 1200 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1200 1201 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1201 zrmet_out( :,:,jm) = zrmet_val1202 zrmet_out(jm) = zrmet_val 1202 1203 END DO 1203 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1 ,1,1)1204 CALL iom_put(trim(tmp_name_iom), zrmet_out ) !zrmet_out(1,1,:) ) )1205 zrmet_out(: ,:,:) = 01204 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1) 1205 CALL iom_put(trim(tmp_name_iom), zrmet_out(:) ) 1206 zrmet_out(:) = 0 1206 1207 zrmet_val = 0 1207 1208 tmp_name_iom = '' … … 1215 1216 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1216 1217 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1217 zrmet_out( :,:,jm) = zrmet_val1218 zrmet_out(jm) = zrmet_val 1218 1219 END DO 1219 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1 ,1,1)1220 CALL iom_put( trim(tmp_name_iom), zrmet_out ) !zrmet_out(1,1,:) ) )1221 zrmet_out(: ,:,:) = 01220 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1) 1221 CALL iom_put( trim(tmp_name_iom), zrmet_out(:) ) 1222 zrmet_out(:) = 0 1222 1223 zrmet_val = 0 1223 1224 tmp_name_iom = '' … … 1231 1232 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1232 1233 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1233 zrmet_out( :,:,jm) = zrmet_val1234 zrmet_out(jm) = zrmet_val 1234 1235 END DO 1235 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1 ,1,1)1236 CALL iom_put( trim(tmp_name_iom), zrmet_out ) !zrmet_out(1,1,:)) )1237 zrmet_out(: ,:,:) = 01236 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1) 1237 CALL iom_put( trim(tmp_name_iom), zrmet_out(:) ) 1238 zrmet_out(:) = 0 1238 1239 zrmet_val = 0 1239 1240 tmp_name_iom = '' … … 1247 1248 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1248 1249 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1249 zrmet_out( :,:,jm) = zrmet_val1250 zrmet_out(jm) = zrmet_val 1250 1251 END DO 1251 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1 ,1,1)1252 CALL iom_put( trim(tmp_name_iom), zrmet_out ) !zrmet_out(1,1,:)) )1253 zrmet_out(: ,:,:) = 01252 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1) 1253 CALL iom_put( trim(tmp_name_iom), zrmet_out(:) ) 1254 zrmet_out(:) = 0 1254 1255 zrmet_val = 0 1255 1256 tmp_name_iom = '' … … 1263 1264 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1264 1265 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1265 zrmet_out( :,:,jm) = zrmet_val1266 zrmet_out(jm) = zrmet_val 1266 1267 END DO 1267 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1 ,1,1)1268 CALL iom_put( trim(tmp_name_iom), zrmet_out ) !zrmet_out(1,1,:) ) )1269 zrmet_out(: ,:,:) = 01268 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom), zrmet_out(1) 1269 CALL iom_put( trim(tmp_name_iom), zrmet_out(:) ) 1270 zrmet_out(:) = 0 1270 1271 zrmet_val = 0 1271 1272 tmp_name_iom = '' … … 1279 1280 ! if (zrmet_val .GT. 1e16) zrmet_val = 1e16 1280 1281 if (zrmet_val .NE. zrmet_val) zrmet_val = 1e20 1281 zrmet_out( :,:,jm) = zrmet_val1282 zrmet_out(jm) = zrmet_val 1282 1283 END DO 1283 1284 IF(lwp .AND. verbose) WRITE(numout,*) 'dia_regmean iom_put tmp_name_iom : ',trim(tmp_name_iom) 1284 CALL iom_put( trim(tmp_name_iom), zrmet_out ) !zrmet_out(1,1,:)) )1285 zrmet_out(: ,:,:) = 01285 CALL iom_put( trim(tmp_name_iom), zrmet_out(:) ) 1286 zrmet_out(:) = 0 1286 1287 zrmet_val = 0 1287 1288 tmp_name_iom = ''
Note: See TracChangeset
for help on using the changeset viewer.