/[MITgcm]/MITgcm/pkg/aim_v23/aim_do_co2.F
ViewVC logotype

Diff of /MITgcm/pkg/aim_v23/aim_do_co2.F

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

revision 1.8 by jmc, Mon Jan 21 21:50:55 2013 UTC revision 1.9 by jmc, Mon Nov 16 21:55:03 2015 UTC
# Line 21  C     == Global data == Line 21  C     == Global data ==
21  #include "SIZE.h"  #include "SIZE.h"
22  #include "EEPARAMS.h"  #include "EEPARAMS.h"
23  #include "PARAMS.h"  #include "PARAMS.h"
24    #include "RESTART.h"
25  #include "GRID.h"  #include "GRID.h"
26    
27  #include "AIM_CO2.h"  #include "AIM_CO2.h"
# Line 52  C     i,j    - loop counters Line 53  C     i,j    - loop counters
53        INTEGER bi, bj, i, j        INTEGER bi, bj, i, j
54        _RL total_flux, atpco2_check        _RL total_flux, atpco2_check
55        _RL flxCO2tile(nSx,nSy)        _RL flxCO2tile(nSx,nSy)
56        LOGICAL permCheckPoint        LOGICAL modelEnd
57          LOGICAL permPickup, tempPickup
58        INTEGER iUnit, iLo, iHi        INTEGER iUnit, iLo, iHi
59        _RS dummyRS(1)        _RS dummyRS(1)
60        _RL tmpco2(2)        _RL tmpco2(2)
# Line 97  C- First compute global mole flux at air Line 99  C- First compute global mole flux at air
99    
100          _BARRIER          _BARRIER
101          _BEGIN_MASTER(myThid)          _BEGIN_MASTER(myThid)
102          IF ( startTime.EQ.baseTime .AND. myTime.EQ.0 ) THEN          IF ( myIter.EQ.0 ) THEN
103  C- If  first iteration, use atmpCO2init as initial condition  C- If  first iteration, use atmpCO2init as initial condition
104            atm_pCO2 = atmpCO2init            atm_pCO2 = atmpCO2init
105            Atm_CO2_Moles = atm_pCO2 * total_atmos_moles            Atm_CO2_Moles = atm_pCO2 * total_atmos_moles
106    
107          ELSEIF ( myTime .EQ. startTime ) THEN          ELSEIF ( myIter.EQ.nIter0 ) THEN
108  C- If restart, read moles number from pickup  C- If restart, read moles number from pickup
109            WRITE(fn,'(A,I10.10)') 'pickup_aimCo2.',nIter0            IF ( pickupSuff.EQ.' ' ) THEN
110                WRITE(fn,'(A,I10.10)') 'pickup_aimCo2.',nIter0
111              ELSE
112                WRITE(fn,'(A,A10)') 'pickup_aimCo2.', pickupSuff
113              ENDIF
114            iUnit = 0            iUnit = 0
115            CALL MDS_READVEC_LOC(  fn, precFloat64, iUnit, 'RL', 2,            CALL MDS_READVEC_LOC(  fn, precFloat64, iUnit, 'RL', 2,
116       O                           tmpco2, dummyRS,       O                           tmpco2, dummyRS,
# Line 139  C- Calculate new atmos pCO2 Line 145  C- Calculate new atmos pCO2
145          atm_pCO2 = Atm_CO2_Moles / total_atmos_moles          atm_pCO2 = Atm_CO2_Moles / total_atmos_moles
146    
147  C- Write out if time for a new pickup  C- Write out if time for a new pickup
148          permCheckPoint = myTime.NE.startTime          modelEnd = (myTime+deltaTClock).EQ.endTime
149          permCheckPoint = permCheckPoint .AND.       &        .OR. (myIter+1).EQ.nEndIter
150            permPickup = .FALSE.
151            tempPickup = .FALSE.
152            permPickup =
153       &    DIFFERENT_MULTIPLE(pChkptFreq,myTime+deltaTClock,deltaTClock)       &    DIFFERENT_MULTIPLE(pChkptFreq,myTime+deltaTClock,deltaTClock)
154          IF (permCheckPoint) THEN          tempPickup =
155            WRITE(fn,'(A,I10.10)') 'pickup_aimCo2.',myIter+1       &    DIFFERENT_MULTIPLE( chkptFreq,myTime+deltaTClock,deltaTClock)
156            IF ( (modelEnd.AND.writePickupAtEnd)
157         &       .OR. permPickup .OR. tempPickup ) THEN
158    
159              IF ( permPickup ) THEN
160                WRITE(fn,'(A,I10.10)') 'pickup_aimCo2.',myIter+1
161              ELSE
162                WRITE(fn,'(A,A)') 'pickup_aimCo2.',checkPtSuff(nCheckLev)
163              ENDIF
164  C- write values to new pickup  C- write values to new pickup
165            tmpco2(1)= Atm_CO2_Moles            tmpco2(1)= Atm_CO2_Moles
166            tmpco2(2)= atm_pCO2            tmpco2(2)= atm_pCO2

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

  ViewVC Help
Powered by ViewVC 1.1.22