C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/do_atmospheric_phys.F,v 1.8 2009/04/29 21:46:32 jmc Exp $ C $Name: checkpoint62f $ #include "PACKAGES_CONFIG.h" #include "CPP_OPTIONS.h" CBOP C !ROUTINE: DO_ATMOSPHERIC_PHYS C !INTERFACE: SUBROUTINE DO_ATMOSPHERIC_PHYS(myTime, myIter, myThid) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE DO_ATMOSPHERIC_PHYS C | o Controlling routine for atmospheric physics and C | parameterization C *==========================================================* C | o originally, part of S/R thermodynamics & forward_step C *==========================================================* C \ev C !USES: IMPLICIT NONE C == Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C myTime - Current time in simulation C myIter - Current iteration number in simulation C myThid - Thread number for this instance of the routine. _RL myTime INTEGER myIter INTEGER myThid CEOP C !LOCAL VARIABLES: C == Local variables C bi, bj #ifdef ALLOW_DEBUG IF ( debugLevel.GE.debLevB ) & CALL DEBUG_ENTER('DO_ATMOSPHERIC_PHYS',myThid) #endif #ifdef ALLOW_FIZHI IF ( useFIZHI ) THEN CALL TIMER_START('FIZHI [DO_ATMOSPHERIC_PHYS]',myThid) CALL UPDATE_OCEAN_EXPORTS ( myTime, myIter, myThid ) CALL UPDATE_EARTH_EXPORTS ( myTime, myIter, myThid ) CALL UPDATE_CHEMISTRY_EXPORTS ( myTime, myIter, myThid ) CALL FIZHI_WRAPPER ( myTime, myIter, myThid ) CALL STEP_FIZHI_FG ( myTime, myIter, myThid, dTtracerLev(1) ) CALL FIZHI_UPDATE_TIME ( myIter, myThid, deltaTclock ) CALL TIMER_STOP ('FIZHI [DO_ATMOSPHERIC_PHYS]',myThid) ENDIF #endif #ifdef ALLOW_AIM IF ( useAIM ) THEN C AIM - atmospheric intermediate model, physics package code. #ifdef ALLOW_DEBUG IF ( debugLevel.GE.debLevB ) & CALL DEBUG_CALL('AIM_DO_PHYSICS',myThid) #endif CALL TIMER_START('AIM_DO_PHYSICS [DO_ATMOSPHERIC_PHYS]',myThid) CALL AIM_DO_PHYSICS( myTime, myIter, myThid ) CALL TIMER_STOP( 'AIM_DO_PHYSICS [DO_ATMOSPHERIC_PHYS]',myThid) C do exchanges for AIM related quantities: CALL AIM_AIM2DYN_EXCHANGES( myTime, myIter, myThid ) ENDIF #endif /* ALLOW_AIM */ #ifdef ALLOW_DEBUG IF ( debugLevel .GE. debLevB ) & CALL DEBUG_LEAVE('DO_ATMOSPHERIC_PHYS',myThid) #endif RETURN END