/[MITgcm]/MITgcm/pkg/ctrl/ctrl_init.F
ViewVC logotype

Diff of /MITgcm/pkg/ctrl/ctrl_init.F

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

revision 1.23 by heimbach, Wed Jun 7 01:55:13 2006 UTC revision 1.24 by heimbach, Fri Oct 27 05:16:54 2006 UTC
# Line 152  cph    index 30-31          for relax. S Line 152  cph    index 30-31          for relax. S
152  cph    index 32    reserved for precip (atmos. state)  cph    index 32    reserved for precip (atmos. state)
153  cph    index 33    reserved for swflux (atmos. state)  cph    index 33    reserved for swflux (atmos. state)
154  cph    index 34    reserved for swdown (atmos. state)  cph    index 34    reserved for swdown (atmos. state)
155    cph          35                 lwflux
156    cph          36                 lwdown
157    cph          37                 evap
158    cph          38                 snowprecip
159    cph          39                 apressure
160    cph          40                 runoff
161  cph)  cph)
162    
163  c----------------------------------------------------------------------  c----------------------------------------------------------------------
# Line 819  c--   Atmos. swdown Line 825  c--   Atmos. swdown
825  #endif /* ALLOW_SWDOWN_CONTROL */  #endif /* ALLOW_SWDOWN_CONTROL */
826    
827  c----------------------------------------------------------------------  c----------------------------------------------------------------------
828    c--
829    #ifdef ALLOW_LWFLUX_CONTROL
830    c--   Atmos. lwflux
831    
832    # ifdef ALLOW_CAL
833            call cal_FullDate( xx_lwfluxstartdate1, xx_lwfluxstartdate2,
834         &                     xx_lwfluxstartdate , mythid )
835            call cal_TimePassed( xx_lwfluxstartdate, modelstartdate,
836         &                       difftime, mythid )
837            call cal_ToSeconds ( difftime, diffsecs, mythid )
838            if ( xx_lwfluxperiod .EQ. 0 ) then
839            startrec=1
840            endrec=12
841            else
842            startrec = int((modelstart + startTime - diffsecs)/
843         &                 xx_lwfluxperiod) + 1
844            endrec   = int((modelend + startTime - diffsecs + modelstep/2)/
845         &                 xx_lwfluxperiod) + 2
846            endif
847    # else
848            startrec = 1
849            endrec   = 1
850    # endif
851            diffrec  = endrec - startrec + 1
852            call ctrl_init_ctrlvar (
853         &       xx_lwflux_file, 35, 135, diffrec, startrec, endrec,
854         &       snx, sny, 1, 'c', 'xy', mythid )
855    
856    #endif /* ALLOW_LWFLUX_CONTROL */
857    
858    c----------------------------------------------------------------------
859    c--
860    #ifdef ALLOW_LWDOWN_CONTROL
861    c--   Atmos. lwdown
862    
863    # ifdef ALLOW_CAL
864            call cal_FullDate( xx_lwdownstartdate1, xx_lwdownstartdate2,
865         &                     xx_lwdownstartdate , mythid )
866            call cal_TimePassed( xx_lwdownstartdate, modelstartdate,
867         &                       difftime, mythid )
868            call cal_ToSeconds ( difftime, diffsecs, mythid )
869            if ( xx_lwdownperiod .EQ. 0 ) then
870            startrec=1
871            endrec=12
872            else
873            startrec = int((modelstart + startTime - diffsecs)/
874         &                 xx_lwdownperiod) + 1
875            endrec   = int((modelend + startTime - diffsecs + modelstep/2)/
876         &                 xx_lwdownperiod) + 2
877            endif
878    # else
879            startrec = 1
880            endrec   = 1
881    # endif
882            diffrec  = endrec - startrec + 1
883            call ctrl_init_ctrlvar (
884         &       xx_lwdown_file, 36, 136, diffrec, startrec, endrec,
885         &       snx, sny, 1, 'c', 'xy', mythid )
886    
887    #endif /* ALLOW_LWDOWN_CONTROL */
888    
889    c----------------------------------------------------------------------
890    c--
891    #ifdef ALLOW_EVAP_CONTROL
892    c--   Atmos. evap
893    
894    # ifdef ALLOW_CAL
895            call cal_FullDate( xx_evapstartdate1, xx_evapstartdate2,
896         &                     xx_evapstartdate , mythid )
897            call cal_TimePassed( xx_evapstartdate, modelstartdate,
898         &                       difftime, mythid )
899            call cal_ToSeconds ( difftime, diffsecs, mythid )
900            if ( xx_evapperiod .EQ. 0 ) then
901            startrec=1
902            endrec=12
903            else
904            startrec = int((modelstart + startTime - diffsecs)/
905         &                 xx_evapperiod) + 1
906            endrec   = int((modelend + startTime - diffsecs + modelstep/2)/
907         &                 xx_evapperiod) + 2
908            endif
909    # else
910            startrec = 1
911            endrec   = 1
912    # endif
913            diffrec  = endrec - startrec + 1
914            call ctrl_init_ctrlvar (
915         &       xx_evap_file, 37, 137, diffrec, startrec, endrec,
916         &       snx, sny, 1, 'c', 'xy', mythid )
917    
918    #endif /* ALLOW_EVAP_CONTROL */
919    
920    c----------------------------------------------------------------------
921    c--
922    #ifdef ALLOW_SNOWPRECIP_CONTROL
923    c--   Atmos. snowprecip
924    
925    # ifdef ALLOW_CAL
926            call cal_FullDate( xx_snowprecipstartdate1,
927         &      xx_snowprecipstartdate2, xx_snowprecipstartdate , mythid )
928            call cal_TimePassed( xx_snowprecipstartdate, modelstartdate,
929         &                       difftime, mythid )
930            call cal_ToSeconds ( difftime, diffsecs, mythid )
931            if ( xx_snowprecipperiod .EQ. 0 ) then
932            startrec=1
933            endrec=12
934            else
935            startrec = int((modelstart + startTime - diffsecs)/
936         &                 xx_snowprecipperiod) + 1
937            endrec   = int((modelend + startTime - diffsecs + modelstep/2)/
938         &                 xx_snowprecipperiod) + 2
939            endif
940    # else
941            startrec = 1
942            endrec   = 1
943    # endif
944            diffrec  = endrec - startrec + 1
945            call ctrl_init_ctrlvar (
946         &       xx_snowprecip_file, 38, 138, diffrec, startrec, endrec,
947         &       snx, sny, 1, 'c', 'xy', mythid )
948    
949    #endif /* ALLOW_SNOWPRECIP_CONTROL */
950    
951    c----------------------------------------------------------------------
952    c--
953    #ifdef ALLOW_APRESSURE_CONTROL
954    c--   Atmos. apressure
955    
956    # ifdef ALLOW_CAL
957            call cal_FullDate( xx_apressurestartdate1,
958         &      xx_apressurestartdate2, xx_apressurestartdate , mythid )
959            call cal_TimePassed( xx_apressurestartdate, modelstartdate,
960         &                       difftime, mythid )
961            call cal_ToSeconds ( difftime, diffsecs, mythid )
962            if ( xx_apressureperiod .EQ. 0 ) then
963            startrec=1
964            endrec=12
965            else
966            startrec = int((modelstart + startTime - diffsecs)/
967         &                 xx_apressureperiod) + 1
968            endrec   = int((modelend + startTime - diffsecs + modelstep/2)/
969         &                 xx_apressureperiod) + 2
970            endif
971    # else
972            startrec = 1
973            endrec   = 1
974    # endif
975            diffrec  = endrec - startrec + 1
976            call ctrl_init_ctrlvar (
977         &       xx_apressure_file, 39, 139, diffrec, startrec, endrec,
978         &       snx, sny, 1, 'c', 'xy', mythid )
979    
980    #endif /* ALLOW_APRESSURE_CONTROL */
981    
982    c----------------------------------------------------------------------
983    c--
984    #ifdef ALLOW_RUNOFF_CONTROL
985    c--   Atmos. runoff
986            startrec = 1
987            endrec   = 1
988            diffrec  = endrec - startrec + 1
989            call ctrl_init_ctrlvar (
990         &       xx_runoff_file, 40, 140, diffrec, startrec, endrec,
991         &       snx, sny, 1, 'c', 'xy', mythid )
992    #endif /* ALLOW_RUNOFF_CONTROL */
993    
994    c----------------------------------------------------------------------
995  c----------------------------------------------------------------------  c----------------------------------------------------------------------
996    
997          call ctrl_init_wet( mythid )          call ctrl_init_wet( mythid )
# Line 843  c--------------------------------------- Line 1016  c---------------------------------------
1016                wswdown   (i,j,bi,bj) = maskC(i,j,1,bi,bj)                wswdown   (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1017                wuwind    (i,j,bi,bj) = maskC(i,j,1,bi,bj)                wuwind    (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1018                wvwind    (i,j,bi,bj) = maskC(i,j,1,bi,bj)                wvwind    (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1019                  wlwflux   (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1020                  wlwdown   (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1021                  wevap     (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1022                  wsnowprecip(i,j,bi,bj) = maskC(i,j,1,bi,bj)
1023                  wapressure(i,j,bi,bj) = maskC(i,j,1,bi,bj)
1024                  wrunoff   (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1025                wsst      (i,j,bi,bj) = maskC(i,j,1,bi,bj)                wsst      (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1026                wsss      (i,j,bi,bj) = maskC(i,j,1,bi,bj)                wsss      (i,j,bi,bj) = maskC(i,j,1,bi,bj)
1027  #endif  #endif

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.22