/[MITgcm]/MITgcm_contrib/jscott/igsm/src/atmosphere.F
ViewVC logotype

Diff of /MITgcm_contrib/jscott/igsm/src/atmosphere.F

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

revision 1.4 by jscott, Mon Apr 23 21:20:17 2007 UTC revision 1.10 by jscott, Wed Oct 17 21:07:21 2007 UTC
# Line 1  Line 1 
1  c source sokolov users  76203 Apr  7 12:46 atmosphere.F  c source 2007 sokolov users  76203 Apr 25 15:29 atmosphere.F
2    
3  #include "ctrparam.h"  #include "ctrparam.h"
4    
# Line 117  C  For TEM Line 117  C  For TEM
117  #endif  #endif
118    
119  #if ( defined  CPL_OCEANCO2 )  #if ( defined  CPL_OCEANCO2 )
120  #include "OCM.COM"  #include "OCM.h"
121        common /Garyflux/pC_atm(jm0),wind_amp,fluxco2(jm0)        common /Garyflux/pC_atm(jm0),wind_amp,fluxco2(jm0)
122  #  if ( defined ML_2D )  #  if ( defined ML_2D )
123        common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0)        common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0)
# Line 335  C*** Line 335  C***
335            READ (546)              READ (546)  
336    245    continue    245    continue
337        endif        endif
       WRITE(503) OFFSSW                                                   17.1    
       REWIND 503                                                          17.2    
338  c     CALL FRTR0(IO)                                                      18.    c     CALL FRTR0(IO)                                                      18.  
339        KBGN=KINC+1                                                         18.5          KBGN=KINC+1                                                         18.5  
340        KM2=KM*2-1                                                          18.51        KM2=KM*2-1                                                          18.51
# Line 365  C**** INITIALIZE TIME PARAMETERS Line 363  C**** INITIALIZE TIME PARAMETERS
363        NSTEP2=NSTEP                                                        29.6          NSTEP2=NSTEP                                                        29.6  
364        MRCHT=0.                                                            29.7          MRCHT=0.                                                            29.7  
365        ITAU=(NSTEP+NSTEP0)*IDTHR                                           30.          ITAU=(NSTEP+NSTEP0)*IDTHR                                           30.  
366        TAU=FLOAT(ITAU)/XINT                                                31.    cjrs changed to dfloat 8/2/07
367          TAU=DFLOAT(ITAU)/XINT                                               31.  
368        IDAY=1+ITAU/I24                                                     32.          IDAY=1+ITAU/I24                                                     32.  
369        TOFDAY=(ITAU-(IDAY-1)*I24)/XINT                                     33.          TOFDAY=(ITAU-(IDAY-1)*I24)/XINT                                     33.  
370  !     if(ISTART.eq.2.or.ISTRT1.eq.0.and..not.CONTRR)then  !     if(ISTART.eq.2.or.ISTRT1.eq.0.and..not.CONTRR)then
# Line 451  C  For TEM Line 450  C  For TEM
450  c      New run  c      New run
451  c      Reading from flin_nep  c      Reading from flin_nep
452          read(537)adupt,temco2          read(537)adupt,temco2
453         else        else
454  c      Restart of the run  c      Restart of the run
455  c      Reading from last_nep  c      Reading from last_nep
456          read(367)adupt,temco2  cjrs   file previously opened in input.F
457  !    &          ,temch4,temn2o         read(876)adupt,temco2
458          rewind 367  C       CLOSE(876)
459         endif         rewind 876
460  !        endif
461  !      adupt= 1.459814341652516  
462  !      adupt= 0.9078891180588442  cjrs next line per Andrei instruction 10/12/07
463  !      adupt= 0.25        adupt= 0.0
 !      adupt= -0.1123070421398009  
 !  
 !      adupt= adupt+0.9 ! for vs23  
464    
465         aduptd=adupt/(365.*JM)         aduptd=adupt/(365.*JM)
466         temnepgl=0.0         temnepgl=0.0
# Line 544  CJRS removed below from ocean_3d Line 540  CJRS removed below from ocean_3d
540  #if ( defined CLM )  #if ( defined CLM )
541        NOCLM=.false.        NOCLM=.false.
542  #endif  #endif
       co2mmavd=0.0  
543        print *,' atmosphere DTATM=',DTATM        print *,' atmosphere DTATM=',DTATM
544        print *,' It is running'        print *,' It is running'
545        print *,'End of atmospheric model initialization'        print *,'End of atmospheric model initialization'
# Line 587  cjrs change var name to arunoff Line 582  cjrs change var name to arunoff
582             solarnet_ice(j)=0.             solarnet_ice(j)=0.
583             solarinc_ocean(j)=0.             solarinc_ocean(j)=0.
584             solarnet_ocean(j)=0.             solarnet_ocean(j)=0.
585  Cjrs why?           surfpr(j)=0.  Cjrs not used anymore (?)           surfpr(j)=0.
586             naveo(j)=0.             naveo(j)=0.
587             navei(j)=0.             navei(j)=0.
588             navrad(j)=0.             navrad(j)=0.
# Line 601  c Line 596  c
596  c  c
597           enddo           enddo
598  #endif  #endif
599  #if ( defined OCEAN_3D && defined CPL_OCEANCO2 )  #ifdef OCEAN_3D
600  !      SECDAY=24.*3600.  C get data from atm-ocean common block
601         SECDAY=DTATM*3600.         do j=1,jm0
602         co2mmav=0.0           ODATA(1,j,1)=mmsst(j)
603         do j=1,jmocean           ODATA(1,j,2)=mmfice(j)
604           co2mmav=co2mmav+mmco2flux(j)           GDATA(1,j,3)=mmtice(j)
605         enddo           GDATA(1,j,1)=mmsnowm(j)
606         print *,'CO2F form ocean TAU=',TAU,co2mmav*12.e-15           ODATA(1,j,3)=mmicem(j)
607  Cjrs *** this block needs attention?? ***           GDATA(1,j,7)=0.5*(mmtice2(j)+mmtice1(j))
608  Cjrs       fluxco2(1)=fluxco2(1)+SECDAY*mmco2flux(1)  #  ifdef CPL_OCEANCO2
609         fluxco2(1)=fluxco2(1) + SECDAY*mmco2flux(2)             fluxco2(j)=fluxco2(j) + dtatm*3600.*mmco2flux(j)
610         do j=2,jm-1  #  endif
         fluxco2(j)=fluxco2(j)+SECDAY*mmco2flux(j-1)  
611         enddo         enddo
612  Cjrs       fluxco2(JM)=fluxco2(JM)+SECDAY*mmco2flux(JMOCEAN)  #endif
        fluxco2(JM)=fluxco2(JM) + SECDAY*mmco2flux(JM-1)  
 # endif  
   
613        WLMMAX=0.0        WLMMAX=0.0
614  C  C
615    100 IF(.NOT.EVENT(TAUT)) GO TO 200                                      46.      100 IF(.NOT.EVENT(TAUT)) GO TO 200                                      46.  
# Line 667  C**** WRITE RESTART INFORMATION ONTO DIS Line 658  C**** WRITE RESTART INFORMATION ONTO DIS
658        PERCNT=100.*MELSE/(MSTART-MNOW+1.E-5)                               56.          PERCNT=100.*MELSE/(MSTART-MNOW+1.E-5)                               56.  
659        MLAST=MNOW                                                          59.          MLAST=MNOW                                                          59.  
660  C**** TEST FOR TERMINATION OF RUN                                         60.    C**** TEST FOR TERMINATION OF RUN                                         60.  
661    200 READ (503,END=210) LABSSW                                           61.      200 continue
662  c     HPRNT=TAU.gt.45.0.and.TAU.lt.60.0  c     HPRNT=TAU.gt.45.0.and.TAU.lt.60.0
663  c     HPRNT=TAU.gt.470.0.and.TAU.lt.550.0  c     HPRNT=TAU.gt.470.0.and.TAU.lt.550.0
664        NCOMP=0        NCOMP=0
   210 REWIND 503                                                          61.1    
       IF(LABSSW.EQ.LABEL1) KSS6=1                                         61.2    
       IF(KSS6.EQ.1) GO TO 800                                             62.    
665        IF(TAU+.06125.GE.TAUE) GO TO 820                                    63.          IF(TAU+.06125.GE.TAUE) GO TO 820                                    63.  
666        JDAY00=JDAY        JDAY00=JDAY
667  C**** IF TIME TO ZERO OUT DIAGNOSTIC ACCUMULATING ARRAYS, DO SO           64.    C**** IF TIME TO ZERO OUT DIAGNOSTIC ACCUMULATING ARRAYS, DO SO           64.  
# Line 1261  C**** UPDATE MODEL TIME AND CALL DAILY I Line 1249  C**** UPDATE MODEL TIME AND CALL DAILY I
1249  C****                                                                    189.    C****                                                                    189.  
1250    500 NSTEP=NSTEP+NDYN                                                   190.      500 NSTEP=NSTEP+NDYN                                                   190.  
1251        ITAU=(NSTEP+NSTEP0)*IDTHR                                          191.          ITAU=(NSTEP+NSTEP0)*IDTHR                                          191.  
1252        TAU=FLOAT(ITAU)/XINT                                               192.    cJRS fix to DFLOAT 8/2/07
1253          TAU=DFLOAT(ITAU)/XINT                                               192.  
1254        IDAY=1+ITAU/I24                                                    193.          IDAY=1+ITAU/I24                                                    193.  
1255        TOFDAYPR=TOFDAY+1.00        TOFDAYPR=TOFDAY+1.00
1256        TOFDAY=(ITAU-(IDAY-1)*I24)/XINT                                    194.          TOFDAY=(ITAU-(IDAY-1)*I24)/XINT                                    194.  
# Line 1454  c  Annual oceanic CO2 uptake Line 1443  c  Annual oceanic CO2 uptake
1443         do j=1,jm         do j=1,jm
1444           OCUPT=OCUPT+fluxco2(j)           OCUPT=OCUPT+fluxco2(j)
1445         enddo         enddo
1446        print *,' OCUPT=',OCUPT*12.e-15  !      print *,' OCUPT=',OCUPT*12.e-15
1447    
1448  #if ( defined CPL_CHEM )  #if ( defined CPL_CHEM )
1449  !  !
# Line 1883  c 820 WRITE (6,905) TAU,IDAY,TOFDAY Line 1872  c 820 WRITE (6,905) TAU,IDAY,TOFDAY
1872  C     DTATM time step of atm model in hours  C     DTATM time step of atm model in hours
1873  C     precip and evap in mm/day or kg/m**2/day  C     precip and evap in mm/day or kg/m**2/day
1874           do j=1,jm0           do j=1,jm0
1875  #if ( defined OCEAN_3D && defined CPL_OCEANCO2 )  Cjrs #if ( defined OCEAN_3D && defined CPL_OCEANCO2 )
1876             ncallatm=ncallatm+1  #ifdef OCEAN_3D
1877    !jrs           ncallatm=ncallatm+1
1878  ! 020107  ! 020107
1879  !          co24ocean(j)=pC_atm(j)*1.e6  !          co24ocean(j)=pC_atm(j)*1.e6
1880    ! jrs give CO2 even if ocn carbon off
1881             co24ocean(j)=atm_co2(j)             co24ocean(j)=atm_co2(j)
1882  ! 020107  #  ifdef CPL_OCEANCO2
1883             co24ocnan(j)=co24ocnan(j)+co24ocean(j)             co24ocnan(j)=co24ocnan(j)+co24ocean(j)
1884    #  endif
1885  #endif  #endif
1886  #ifdef ML_2D  #ifdef ML_2D
1887  cjrs block only MD_2D  cjrs block only MD_2D
# Line 2082  c      stop Line 2074  c      stop
2074        return        return
2075  C     CALL ENQJOB                                                        309.    C     CALL ENQJOB                                                        309.  
2076  C     CALL ENQJOB                                                        310.    C     CALL ENQJOB                                                        310.  
       IF(KSS6.EQ.1) STOP 12                                              310.1    
2077        IF(IPFLAG.EQ.0) STOP 13                                            311.          IF(IPFLAG.EQ.0) STOP 13                                            311.  
2078        STOP 1                                                             312.          STOP 1                                                             312.  
2079  C****                                                                    313.    C****                                                                    313.  

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22