New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
diafwb.F90 in branches/2015/dev_r5803_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DIA – NEMO

source: branches/2015/dev_r5803_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DIA/diafwb.F90 @ 5870

Last change on this file since 5870 was 5870, checked in by acc, 8 years ago

Branch 2015/dev_r5803_NOC_WAD. Merge in trunk changes from 5803 to 5869 in preparation for merge. Also tidied and reorganised some wetting and drying code. Renamed wadlmt.F90 to wetdry.F90. Wetting drying code changes restricted to domzgr.F90, domvvl.F90 nemogcm.F90 sshwzv.F90, dynspg_ts.F90, wetdry.F90 and dynhpg.F90. Code passes full SETTE tests with ln_wd=.false.. Still awaiting test case for checking with ln_wd=.false.

  • Property svn:keywords set to Id
File size: 20.7 KB
Line 
1MODULE diafwb
2   !!======================================================================
3   !!                       ***  MODULE  diafwb  ***
4   !! Ocean diagnostics: freshwater budget
5   !!======================================================================
6   !! History :  8.2  !  01-02  (E. Durand)  Original code
7   !!            8.5  !  02-06  (G. Madec)  F90: Free form and module
8   !!            9.0  !  05-11  (V. Garnier) Surface pressure gradient organization
9   !!----------------------------------------------------------------------
10   !!----------------------------------------------------------------------
11   !!   Only for ORCA2 ORCA1 and ORCA025
12   !!----------------------------------------------------------------------
13   !!----------------------------------------------------------------------
14   !!   dia_fwb     : freshwater budget for global ocean configurations
15   !!----------------------------------------------------------------------
16   USE oce             ! ocean dynamics and tracers
17   USE dom_oce         ! ocean space and time domain
18   USE phycst          ! physical constants
19   USE sbc_oce         ! ???
20   USE zdf_oce         ! ocean vertical physics
21   USE in_out_manager  ! I/O manager
22   USE lib_mpp         ! distributed memory computing library
23   USE timing          ! preformance summary
24
25   IMPLICIT NONE
26   PRIVATE
27
28   PUBLIC dia_fwb    ! routine called by step.F90
29
30   REAL(wp)               ::   a_fwf ,          &
31      &                        a_sshb, a_sshn, a_salb, a_saln
32   REAL(wp), DIMENSION(4) ::   a_flxi, a_flxo, a_temi, a_temo, a_sali, a_salo
33
34   !! * Substitutions
35#  include "domzgr_substitute.h90"
36#  include "vectopt_loop_substitute.h90"
37   !!----------------------------------------------------------------------
38   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
39   !! $Id$
40   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
41   !!----------------------------------------------------------------------
42
43CONTAINS
44
45   SUBROUTINE dia_fwb( kt )
46      !!---------------------------------------------------------------------
47      !!                  ***  ROUTINE dia_fwb  ***
48      !!     
49      !! ** Purpose :
50      !!----------------------------------------------------------------------
51      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
52      !!
53      INTEGER  :: inum             ! temporary logical unit
54      INTEGER  :: ji, jj, jk, jt   ! dummy loop indices
55      INTEGER  :: ii0, ii1, ij0, ij1
56      INTEGER  :: isrow         ! index for ORCA1 starting row
57      REAL(wp) :: zarea, zvol, zwei
58      REAL(wp) :: ztemi(4), ztemo(4), zsali(4), zsalo(4), zflxi(4), zflxo(4)
59      REAL(wp) :: zt, zs, zu 
60      REAL(wp) :: zsm0, zfwfnew
61      IF( cp_cfg == "orca" .AND. jp_cfg == 1 .OR. jp_cfg == 2 .OR. jp_cfg == 4 ) THEN
62      !!----------------------------------------------------------------------
63      IF( nn_timing == 1 )   CALL timing_start('dia_fwb')
64
65      ! Mean global salinity
66      zsm0 = 34.72654
67
68      ! To compute fwf mean value mean fwf
69
70      IF( kt == nit000 ) THEN
71
72         a_fwf    = 0.e0
73         a_sshb   = 0.e0 ! valeur de ssh au debut de la simulation
74         a_salb   = 0.e0 ! valeur de sal au debut de la simulation
75         ! sshb used because diafwb called after tranxt (i.e. after the swap)
76         a_sshb = SUM( e1e2t(:,:) * sshb(:,:) * tmask_i(:,:) )
77         IF( lk_mpp )   CALL mpp_sum( a_sshb )      ! sum over the global domain
78
79         DO jk = 1, jpkm1
80            DO jj = 2, jpjm1
81               DO ji = fs_2, fs_jpim1   ! vector opt.
82                  zwei  = e1e2t(ji,jj) * fse3t(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj)
83                  a_salb = a_salb + ( tsb(ji,jj,jk,jp_sal) - zsm0 ) * zwei
84               END DO
85            END DO
86         END DO
87         IF( lk_mpp )   CALL mpp_sum( a_salb )      ! sum over the global domain
88      ENDIF
89     
90      a_fwf    = SUM( e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:) ) 
91      IF( lk_mpp )   CALL mpp_sum( a_fwf    )       ! sum over the global domain
92
93      IF( kt == nitend ) THEN
94         a_sshn = 0.e0
95         a_saln = 0.e0
96         zarea = 0.e0
97         zvol  = 0.e0
98         zfwfnew = 0.e0
99         ! Mean sea level at nitend
100         a_sshn = SUM( e1e2t(:,:) * sshn(:,:) * tmask_i(:,:) )
101         IF( lk_mpp )   CALL mpp_sum( a_sshn )      ! sum over the global domain
102         zarea  = SUM( e1e2t(:,:) *             tmask_i(:,:) )
103         IF( lk_mpp )   CALL mpp_sum( zarea  )      ! sum over the global domain
104         
105         DO jk = 1, jpkm1   
106            DO jj = 2, jpjm1
107               DO ji = fs_2, fs_jpim1   ! vector opt.
108                  zwei  = e1e2t(ji,jj) * fse3t(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj)
109                  a_saln = a_saln + ( tsn(ji,jj,jk,jp_sal) - zsm0 ) * zwei
110                  zvol  = zvol  + zwei
111               END DO
112            END DO
113         END DO
114         IF( lk_mpp )   CALL mpp_sum( a_saln )      ! sum over the global domain
115         IF( lk_mpp )   CALL mpp_sum( zvol )      ! sum over the global domain
116         
117         ! Conversion in m3
118         a_fwf    = a_fwf * rdttra(1) * 1.e-3 
119         
120         ! fwf correction to bring back the mean ssh to zero
121         zfwfnew = a_sshn / ( ( nitend - nit000 + 1 ) * rdt ) * 1.e3 / zarea
122
123      ENDIF
124
125
126      ! Calcul des termes de transport
127      ! ------------------------------
128     
129      ! 1 --> Gibraltar
130      ! 2 --> Cadiz
131      ! 3 --> Red Sea
132      ! 4 --> Baltic Sea
133
134      IF( kt == nit000 ) THEN
135         a_flxi(:) = 0.e0
136         a_flxo(:) = 0.e0
137         a_temi(:) = 0.e0
138         a_temo(:) = 0.e0
139         a_sali(:) = 0.e0
140         a_salo(:) = 0.e0
141      ENDIF
142
143      zflxi(:) = 0.e0
144      zflxo(:) = 0.e0
145      ztemi(:) = 0.e0
146      ztemo(:) = 0.e0
147      zsali(:) = 0.e0
148      zsalo(:) = 0.e0
149
150      ! Mean flow at Gibraltar
151
152      IF( cp_cfg == "orca" ) THEN 
153               
154         SELECT CASE ( jp_cfg )
155         !                                           ! =======================
156         CASE ( 4 )                                  !  ORCA_R4 configuration
157            !                                        ! =======================
158            ii0 = 70   ;   ii1 = 70
159            ij0 = 52   ;   ij1 = 52
160            !                                        ! =======================
161         CASE ( 2 )                                  !  ORCA_R2 configuration
162            !                                        ! =======================
163            ii0 = 140   ;   ii1 = 140
164            ij0 = 102   ;   ij1 = 102
165            !                                        ! =======================
166         CASE ( 1 )                                  !  ORCA_R1 configurations
167            !                                        ! =======================
168            ! This dirty section will be suppressed by simplification process:
169            ! all this will come back in input files
170            ! Currently these hard-wired indices relate to configuration with
171            ! extend grid (jpjglo=332)
172            isrow = 332 - jpjglo
173            !
174            ii0 = 283           ;   ii1 = 283
175            ij0 = 241 - isrow   ;   ij1 = 241 - isrow
176            !                                        ! =======================
177         CASE DEFAULT                                !    ORCA R05 or R025
178            !                                        ! =======================
179            CALL ctl_stop( ' dia_fwb Not yet implemented in ORCA_R05 or R025' )
180            !
181         END SELECT
182         !
183         DO ji = mi0(ii0), MIN(mi1(ii1),jpim1)
184            DO jj = mj0(ij0), mj1(ij1)
185               DO jk = 1, jpk 
186                  zt = 0.5 * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) )
187                  zs = 0.5 * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) )
188                  zu = un(ji,jj,jk) * fse3t(ji,jj,jk) * e2u(ji,jj) * tmask_i(ji,jj)
189
190                  IF( un(ji,jj,jk) > 0.e0 ) THEN
191                     zflxi(1) = zflxi(1) +    zu
192                     ztemi(1) = ztemi(1) + zt*zu
193                     zsali(1) = zsali(1) + zs*zu
194                  ELSE
195                     zflxo(1) = zflxo(1) +    zu
196                     ztemo(1) = ztemo(1) + zt*zu
197                     zsalo(1) = zsalo(1) + zs*zu
198                  ENDIF
199               END DO
200            END DO
201         END DO
202      ENDIF
203     
204      ! Mean flow at Cadiz
205      IF( cp_cfg == "orca" ) THEN
206               
207         SELECT CASE ( jp_cfg )
208         !                                           ! =======================
209         CASE ( 4 )                                  !  ORCA_R4 configuration
210            !                                        ! =======================
211            ii0 = 69   ;   ii1 = 69
212            ij0 = 52   ;   ij1 = 52
213            !                                        ! =======================
214         CASE ( 2 )                                  !  ORCA_R2 configuration
215            !                                        ! =======================
216            ii0 = 137   ;   ii1 = 137
217            ij0 = 101   ;   ij1 = 102
218            !                                        ! =======================
219         CASE ( 1 )                                  !  ORCA_R1 configurations
220            !                                        ! =======================
221            ! This dirty section will be suppressed by simplification process:
222            ! all this will come back in input files
223            ! Currently these hard-wired indices relate to configuration with
224            ! extend grid (jpjglo=332)
225            isrow = 332 - jpjglo
226            ii0 = 282           ;   ii1 = 282
227            ij0 = 240 - isrow   ;   ij1 = 240 - isrow
228            !                                        ! =======================
229         CASE DEFAULT                                !    ORCA R05 or R025
230            !                                        ! =======================
231            CALL ctl_stop( ' dia_fwb Not yet implemented in ORCA_R05 or R025' )
232            !
233         END SELECT
234         !
235         DO ji = mi0(ii0), MIN(mi1(ii1),jpim1)
236            DO jj = mj0(ij0), mj1(ij1)
237               DO jk = 1, jpk 
238                  zt = 0.5 * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) )
239                  zs = 0.5 * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) )
240                  zu = un(ji,jj,jk) * fse3t(ji,jj,jk) * e2u(ji,jj) * tmask_i(ji,jj)
241                 
242                  IF( un(ji,jj,jk) > 0.e0 ) THEN
243                     zflxi(2) = zflxi(2) +    zu
244                     ztemi(2) = ztemi(2) + zt*zu
245                     zsali(2) = zsali(2) + zs*zu
246                  ELSE
247                     zflxo(2) = zflxo(2) +    zu
248                     ztemo(2) = ztemo(2) + zt*zu
249                     zsalo(2) = zsalo(2) + zs*zu
250                  ENDIF
251               END DO
252            END DO
253         END DO
254      ENDIF
255
256      ! Mean flow at Red Sea entrance
257      IF( cp_cfg == "orca" ) THEN
258               
259         SELECT CASE ( jp_cfg )
260         !                                           ! =======================
261         CASE ( 4 )                                  !  ORCA_R4 configuration
262            !                                        ! =======================
263            ii0 = 83   ;   ii1 = 83
264            ij0 = 45   ;   ij1 = 45
265            !                                        ! =======================
266         CASE ( 2 )                                  !  ORCA_R2 configuration
267            !                                        ! =======================
268            ii0 = 160   ;   ii1 = 160
269            ij0 = 88    ;   ij1 = 88 
270            !                                        ! =======================
271         CASE ( 1 )                                  !  ORCA_R1 configurations
272            !                                        ! =======================
273            ! This dirty section will be suppressed by simplification process:
274            ! all this will come back in input files
275            ! Currently these hard-wired indices relate to configuration with
276            ! extend grid (jpjglo=332)
277            isrow = 332 - jpjglo
278            ii0 = 331           ;   ii1 = 331
279            ij0 = 215 - isrow   ;   ij1 = 215 - isrow
280            !                                        ! =======================
281         CASE DEFAULT                                !    ORCA R05 or R025
282            !                                        ! =======================
283            CALL ctl_stop( ' dia_fwb Not yet implemented in ORCA_R05 or R025' )
284            !
285         END SELECT
286         !
287         DO ji = mi0(ii0), MIN(mi1(ii1),jpim1)
288            DO jj = mj0(ij0), mj1(ij1)
289               DO jk = 1, jpk 
290                  zt = 0.5 * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) )
291                  zs = 0.5 * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) )
292                  zu = un(ji,jj,jk) * fse3t(ji,jj,jk) * e2u(ji,jj) * tmask_i(ji,jj)
293                 
294                  IF( un(ji,jj,jk) > 0.e0 ) THEN
295                     zflxi(3) = zflxi(3) +    zu
296                     ztemi(3) = ztemi(3) + zt*zu
297                     zsali(3) = zsali(3) + zs*zu
298                  ELSE
299                     zflxo(3) = zflxo(3) +    zu
300                     ztemo(3) = ztemo(3) + zt*zu
301                     zsalo(3) = zsalo(3) + zs*zu
302                  ENDIF
303               END DO
304            END DO
305         END DO
306      ENDIF
307
308      ! Mean flow at Baltic Sea entrance
309      IF( cp_cfg == "orca" ) THEN
310               
311         SELECT CASE ( jp_cfg )
312         !                                           ! =======================
313         CASE ( 4 )                                  !  ORCA_R4 configuration
314            !                                        ! =======================
315            ii0 = 1     ;   ii1 = 1 
316            ij0 = 1     ;   ij1 = 1 
317            !                                        ! =======================
318         CASE ( 2 )                                  !  ORCA_R2 configuration
319            !                                        ! =======================
320            ii0 = 146   ;   ii1 = 146 
321            ij0 = 116   ;   ij1 = 116
322            !                                        ! =======================
323         CASE ( 1 )                                  !  ORCA_R1 configurations
324            !                                        ! =======================
325            ! This dirty section will be suppressed by simplification process:
326            ! all this will come back in input files
327            ! Currently these hard-wired indices relate to configuration with
328            ! extend grid (jpjglo=332)
329            isrow = 332 - jpjglo
330            ii0 = 297           ;   ii1 = 297
331            ij0 = 269 - isrow   ;   ij1 = 269 - isrow
332            !                                        ! =======================
333         CASE DEFAULT                                !    ORCA R05 or R025
334            !                                        ! =======================
335            CALL ctl_stop( ' dia_fwb Not yet implemented in ORCA_R05 or R025' )
336            !
337         END SELECT
338         !
339         DO ji = mi0(ii0), MIN(mi1(ii1),jpim1)
340            DO jj = mj0(ij0), mj1(ij1)
341               DO jk = 1, jpk
342                  zt = 0.5 * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) )
343                  zs = 0.5 * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) )
344                  zu = un(ji,jj,jk) * fse3t(ji,jj,jk) * e2u(ji,jj) * tmask_i(ji,jj)
345                 
346                  IF( un(ji,jj,jk) > 0.e0 ) THEN
347                     zflxi(4) = zflxi(4) +    zu
348                     ztemi(4) = ztemi(4) + zt*zu
349                     zsali(4) = zsali(4) + zs*zu
350                  ELSE
351                     zflxo(4) = zflxo(4) +    zu
352                     ztemo(4) = ztemo(4) + zt*zu
353                     zsalo(4) = zsalo(4) + zs*zu
354                  ENDIF
355               END DO
356            END DO
357         END DO
358      ENDIF
359
360      ! Sum at each time-step
361      DO jt = 1, 4 
362         !
363         IF( zflxi(jt) /= 0.e0 ) THEN
364            a_flxi(jt) = a_flxi(jt) + zflxi(jt)
365            a_temi(jt) = a_temi(jt) + ztemi(jt)/zflxi(jt)
366            a_sali(jt) = a_sali(jt) + zsali(jt)/zflxi(jt)
367         ENDIF
368         !
369         IF( zflxo(jt) /= 0.e0 ) THEN
370            a_flxo(jt) = a_flxo(jt) + zflxo(jt)
371            a_temo(jt) = a_temo(jt) + ztemo(jt)/zflxo(jt)
372            a_salo(jt) = a_salo(jt) + zsalo(jt)/zflxo(jt)
373         ENDIF
374         !
375      END DO
376
377      IF( kt == nitend ) THEN
378         DO jt = 1, 4 
379            a_flxi(jt) = a_flxi(jt) / ( FLOAT( nitend - nit000 + 1 ) * 1.e6 )
380            a_temi(jt) = a_temi(jt) /   FLOAT( nitend - nit000 + 1 )
381            a_sali(jt) = a_sali(jt) /   FLOAT( nitend - nit000 + 1 )
382            a_flxo(jt) = a_flxo(jt) / ( FLOAT( nitend - nit000 + 1 ) * 1.e6 )
383            a_temo(jt) = a_temo(jt) /   FLOAT( nitend - nit000 + 1 )
384            a_salo(jt) = a_salo(jt) /   FLOAT( nitend - nit000 + 1 )
385         END DO
386         IF( lk_mpp ) THEN
387            CALL mpp_sum( a_flxi, 4 )      ! sum over the global domain
388            CALL mpp_sum( a_temi, 4 )      ! sum over the global domain
389            CALL mpp_sum( a_sali, 4 )      ! sum over the global domain
390
391            CALL mpp_sum( a_flxo, 4 )      ! sum over the global domain
392            CALL mpp_sum( a_temo, 4 )      ! sum over the global domain
393            CALL mpp_sum( a_salo, 4 )      ! sum over the global domain
394         ENDIF
395      ENDIF
396
397
398      ! Ecriture des diagnostiques
399      ! --------------------------
400
401      IF ( kt == nitend .AND. cp_cfg == "orca" .AND. lwp ) THEN
402
403         CALL ctl_opn( inum, 'STRAIT.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )
404         WRITE(inum,*)
405         WRITE(inum,*)    'Net freshwater budget '
406         WRITE(inum,9010) '  fwf    = ',a_fwf,   ' m3 =', a_fwf   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv'
407         WRITE(inum,*)
408         WRITE(inum,9010) '  zarea =',zarea
409         WRITE(inum,9010) '  zvol  =',zvol
410         WRITE(inum,*)
411         WRITE(inum,*)    'Mean sea level : '
412         WRITE(inum,9010) '  at nit000 = ',a_sshb        ,' m3 '
413         WRITE(inum,9010) '  at nitend = ',a_sshn        ,' m3 '
414         WRITE(inum,9010) '  diff      = ',(a_sshn-a_sshb),' m3 =', (a_sshn-a_sshb)/(FLOAT(nitend-nit000+1)*rdt) * 1.e-6,' Sv'
415         WRITE(inum,9020) '  mean sea level elevation    =', a_sshn/zarea,' m'
416         WRITE(inum,*)
417         WRITE(inum,*)    'Anomaly of salinity content : '
418         WRITE(inum,9010) '  at nit000 = ',a_salb        ,' psu.m3 '
419         WRITE(inum,9010) '  at nitend = ',a_saln        ,' psu.m3 '
420         WRITE(inum,9010) '  diff      = ',(a_saln-a_salb),' psu.m3'
421         WRITE(inum,*)
422         WRITE(inum,*)    'Mean salinity : '
423         WRITE(inum,9020) '  at nit000 =',a_salb/zvol+zsm0   ,' psu '
424         WRITE(inum,9020) '  at nitend =',a_saln/zvol+zsm0   ,' psu '
425         WRITE(inum,9020) '  diff      =',(a_saln-a_salb)/zvol,' psu'
426         WRITE(inum,9020) '  S-SLevitus=',a_saln/zvol,' psu'
427         WRITE(inum,*)
428         WRITE(inum,*)    'Gibraltar : '
429         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(1)
430         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(1)
431         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(1)
432         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(1)
433         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(1)
434         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(1)
435         WRITE(inum,*)
436         WRITE(inum,*)    'Cadiz : '
437         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(2)
438         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(2)
439         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(2)
440         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(2)
441         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(2)
442         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(2)
443         WRITE(inum,*)
444         WRITE(inum,*)    'Bab el Mandeb : '
445         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(3)
446         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(3)
447         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(3)
448         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(3)
449         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(3)
450         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(3)
451         WRITE(inum,*)
452         WRITE(inum,*)    'Baltic : '
453         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(4)
454         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(4)
455         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(4)
456         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(4)
457         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(4)
458         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(4)
459         CLOSE(inum)
460      ENDIF
461
462      IF( nn_timing == 1 )   CALL timing_start('dia_fwb')
463
464 9005 FORMAT(1X,A,ES24.16)
465 9010 FORMAT(1X,A,ES12.5,A,F10.5,A)
466 9020 FORMAT(1X,A,F10.5,A)
467 9030 FORMAT(1X,A,F9.4,A)
468 
469      ENDIF
470
471   END SUBROUTINE dia_fwb
472
473   !!======================================================================
474END MODULE diafwb
Note: See TracBrowser for help on using the repository browser.