/[MITgcm]/MITgcm_contrib/darwin2/pkg/monod/monod_init_vari.F
ViewVC logotype

Diff of /MITgcm_contrib/darwin2/pkg/monod/monod_init_vari.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by jahn, Wed Apr 13 18:56:25 2011 UTC revision 1.9 by jahn, Fri May 3 19:24:02 2013 UTC
# Line 88  c test.................... Line 88  c test....................
88  c set up ecosystem coefficients  c set up ecosystem coefficients
89  c  c
90  c seed randomization  c seed randomization
91            _BEGIN_MASTER( myThid )
92    
93          CALL DARWIN_RANDOM_INIT(darwin_seed, myThid)          CALL DARWIN_RANDOM_INIT(darwin_seed, myThid)
94    
95  c initialize total number of functional groups tried  c initialize total number of functional groups tried
# Line 100  c initialize total number of functional Line 102  c initialize total number of functional
102  #endif  #endif
103           end do           end do
104    
105            _END_MASTER( myThid )
106    
107  c reduce amount of diaz  c reduce amount of diaz
108  #ifdef ALLOW_DIAZ  #ifdef ALLOW_DIAZ
109           IF (nIter0.EQ.PTRACERS_Iter0) THEN
110          do np = 1, npmax          do np = 1, npmax
111           if (diazotroph(np) .eq. 1. _d 0) then           if (diazotroph(np) .eq. 1. _d 0) then
112           DO bj = myByLo(myThid), myByHi(myThid)           DO bj = myByLo(myThid), myByHi(myThid)
# Line 118  c reduce amount of diaz Line 123  c reduce amount of diaz
123           ENDDO           ENDDO
124           endif           endif
125          enddo          enddo
126           ENDIF
127  #endif  #endif
128    
129            _BEGIN_MASTER( myThid )
130    
131  c initialize zooplankton  c initialize zooplankton
132           call MONOD_GENERATE_ZOO(MyThid)           call MONOD_GENERATE_ZOO(MyThid)
133    
# Line 163  c find mean Line 171  c find mean
171  #endif  #endif
172  #ifdef DYNAMIC_CHL  #ifdef DYNAMIC_CHL
173  c check Chl fields are reasonable  c check Chl fields are reasonable
174    #ifndef WAVEBANDS
175             do np = 1,npmax
176    c C:CHl minimum: chosen to be Chl:C at high light (2000uEin/m2/s) and
177    c  no temp/nutrient limitation
178              chl2cmin(np)=chl2cmax(np)/
179         &            (1+(chl2cmax(np)*alphachl(np)*2000. _d 0)/
180         &               (2*pcmax(np)))
181              chl2cmin(np)=0. _d 0
182             enddo
183    #else
184             do np=1,npmax             do np=1,npmax
185               chl2cmin(np)=chl2cmax(np)/               chl2cmin(np)=chl2cmax(np)/
186       &            (1+(chl2cmax(np)* alpha_mean(np) *2000. _d 0)/       &            (1+(chl2cmax(np)* alpha_mean(np) *2000. _d 0)/
187       &               (2*pcmax(np)))       &               (2*pcmax(np)))
188             enddo             enddo
            call MONOD_CHECK_CHL(myThid)  
189  #endif  #endif
190  #endif  #endif
191  c ANNA endif  #endif
192            _END_MASTER( myThid )
193    
194           _BEGIN_MASTER(myThid)  #ifdef DYNAMIC_CHL
195    C this initializes fields...
196            call MONOD_CHECK_CHL(myThid)
197    #endif
198    
199             IF ( myProcId.EQ.0 .AND. myThid.EQ.1 ) THEN
200  c write out initial phyto characteristics  c write out initial phyto characteristics
201  #ifndef GEIDER  #ifndef GEIDER
202           CALL MDSFINDUNIT( IniUnit1, mythid )           CALL MDSFINDUNIT( IniUnit1, mythid )
# Line 268  c ANNA outputs mQyield as 10^(4) mmol C Line 291  c ANNA outputs mQyield as 10^(4) mmol C
291           close(IniUnit1)           close(IniUnit1)
292   110     format(3f4.0,f6.2,4f4.0,f5.1,4f7.3,2e11.2,2f9.4,f6.1,2i5)   110     format(3f4.0,f6.2,4f4.0,f5.1,4f7.3,2e11.2,2f9.4,f6.1,2i5)
293   111     format(3f4.0,f6.2,4f4.0,f5.1,4f7.3,2f6.1,2f9.4,f6.1,2i5)   111     format(3f4.0,f6.2,4f4.0,f5.1,4f7.3,2f6.1,2f9.4,f6.1,2i5)
294    c       myProcId and myThid
295            ENDIF
296    
297           CALL LEF_ZERO( fice,myThid )           CALL LEF_ZERO( fice,myThid )
298           CALL LEF_ZERO( inputFe,myThid )           CALL LEF_ZERO( inputFe,myThid )
# Line 316  c set arrays to zero if first timestep Line 341  c set arrays to zero if first timestep
341            CALL TIMEAVE_RESET(Chlave,   Nr,  bi, bj, myThid)            CALL TIMEAVE_RESET(Chlave,   Nr,  bi, bj, myThid)
342            CALL TIMEAVE_RESET(Nfixave,   Nr,  bi, bj, myThid)            CALL TIMEAVE_RESET(Nfixave,   Nr,  bi, bj, myThid)
343            CALL TIMEAVE_RESET(Denitave,   Nr,  bi, bj, myThid)            CALL TIMEAVE_RESET(Denitave,   Nr,  bi, bj, myThid)
344    #ifdef DAR_DIAG_PARW
345              do i=1,tlam
346               CALL TIMEAVE_RESET(PARwave(1-OLx,1-OLy,1,1,1,i),
347         &                                    Nr,bi,bj,myThid)
348              enddo
349              do np=1,npmax
350               CALL TIMEAVE_RESET(chl2cave(1-OLx,1-OLy,1,1,1,np),
351         &                                    Nr,bi,bj,myThid)
352              enddo
353    #endif
354  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
355            CALL TIMEAVE_RESET(aCDOMave,   Nr,  bi, bj, myThid)            CALL TIMEAVE_RESET(aCDOMave,   Nr,  bi, bj, myThid)
356  #endif  #endif
# Line 327  c set arrays to zero if first timestep Line 362  c set arrays to zero if first timestep
362       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
363             CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,i),             CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,i),
364       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
365               CALL TIMEAVE_RESET(Estave(1-OLx,1-OLy,1,1,1,i),
366         &                                    Nr,bi,bj,myThid)
367             CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,i),             CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,i),
368       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
369            enddo            enddo
370  #endif  #endif
371    #ifdef DAR_DIAG_IRR_AMPS
372              do i=1,tlam
373               CALL TIMEAVE_RESET(amp1ave(1-OLx,1-OLy,1,1,1,i),
374         &                                    Nr,bi,bj,myThid)
375               CALL TIMEAVE_RESET(amp2ave(1-OLx,1-OLy,1,1,1,i),
376         &                                    Nr,bi,bj,myThid)
377              enddo
378    #endif
379  #ifdef DAR_DIAG_ABSORP  #ifdef DAR_DIAG_ABSORP
380            do i=1,tlam            do i=1,tlam
381             CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,i),             CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,i),
# Line 355  c set arrays to zero if first timestep Line 400  c set arrays to zero if first timestep
400       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
401            enddo            enddo
402  #endif  #endif
403    #ifdef DAR_RADTRANS
404              CALL TIMEAVE_RESET(rmudave(1-OLx,1-OLy,1,1),
405         &                                   1,bi,bj,myThid)
406    #endif
407  c ANNA_TAVE  c ANNA_TAVE
408  #ifdef WAVES_DIAG_PCHL  #ifdef WAVES_DIAG_PCHL
409            do np=1,npmax            do np=1,npmax
# Line 363  c ANNA_TAVE Line 412  c ANNA_TAVE
412            enddo            enddo
413  #endif  #endif
414  c ANNA end TAVE  c ANNA end TAVE
415    #ifdef DAR_DIAG_EK
416               do np=1,npmax
417               CALL TIMEAVE_RESET(Ekave(1-OLx,1-OLy,1,1,1,np),
418         &                                      Nr,bi,bj,myThid)
419               CALL TIMEAVE_RESET(EkoverEave(1-OLx,1-OLy,1,1,1,np),
420         &                                      Nr,bi,bj,myThid)
421               do i=1,tlam
422                 CALL TIMEAVE_RESET(Ek_nlave(1-OLx,1-OLy,1,1,1,np,i),
423         &                                      Nr,bi,bj,myThid)
424                 CALL TIMEAVE_RESET(EkoverE_nlave(1-OLx,1-OLy,1,1,1,np,i),
425         &                                      Nr,bi,bj,myThid)
426               enddo
427              enddo
428    #endif
429  #ifdef DAR_DIAG_RSTAR  #ifdef DAR_DIAG_RSTAR
430            do np=1,npmax            do np=1,npmax
431             CALL TIMEAVE_RESET(Rstarave(1-OLx,1-OLy,1,1,1,np),             CALL TIMEAVE_RESET(Rstarave(1-OLx,1-OLy,1,1,1,np),
# Line 399  c         CALL TIMEAVE_RESET(SURave,   1 Line 462  c         CALL TIMEAVE_RESET(SURave,   1
462  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
463    
464  #ifdef CHECK_CONS  #ifdef CHECK_CONS
465           IF ( myProcId.EQ.0 .AND. myThid.EQ.1 ) THEN
466  coj find unused units for darwin_cons output  coj find unused units for darwin_cons output
467          CALL MDSFINDUNIT( DAR_cons_unit1, mythid )          CALL MDSFINDUNIT( DAR_cons_unit1, mythid )
468          open(DAR_cons_unit1,file='darwin_cons_P.txt',status='unknown')          open(DAR_cons_unit1,file='darwin_cons_P.txt',status='unknown')
# Line 416  coj find unused units for darwin_cons ou Line 480  coj find unused units for darwin_cons ou
480          CALL MDSFINDUNIT( DAR_cons_unit7, mythid )          CALL MDSFINDUNIT( DAR_cons_unit7, mythid )
481          open(DAR_cons_unit7,file='darwin_cons_O.txt',status='unknown')          open(DAR_cons_unit7,file='darwin_cons_O.txt',status='unknown')
482  #endif  #endif
483    c      myProcId and myThid
484           ENDIF
485  #endif  #endif
          _END_MASTER(myThid)  
486    
487  c test....................  c test....................
488  c       write(6,*)'finishing darwin_init_vari '  c       write(6,*)'finishing darwin_init_vari '

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22