C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/autodiff/adcommon.h,v 1.20 2008/02/02 02:35:26 gforget Exp $ C $Name: $ C-- These common blocks are extracted from the C-- automatically created tangent linear code. C-- You need to make sure that they are up-to-date C-- (i.e. in right order), and customize them C-- accordingly. C-- C-- heimbach@mit.edu 11-Jan-2001 #ifdef ALLOW_AUTODIFF_MONITOR #include "PACKAGES_CONFIG.h" #ifdef ALLOW_EXF # include "EXF_OPTIONS.h" #endif #ifdef ALLOW_SEAICE # include "SEAICE_OPTIONS.h" #endif common /addynvars_r/ & adetan, & aduvel, advvel, adwvel, & adtheta, adsalt, & adgu, adgv, adgt, adgs, & adgunm1, adgvnm1, adgtnm1, adgsnm1 _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adgs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgsnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgtnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adgvnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adsalt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adtheta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL aduvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL advvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adwvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) common /addynvars_r_2/ & adetah _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) #ifdef ALLOW_CD_CODE common /addynvars_cd/ & aduveld, advveld, & adetanm1, & adunm1, advnm1 _RL aduveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL advveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) #endif COMMON /adffields_fu/ adfu COMMON /adffields_fv/ adfv COMMON /adffields_Qnet/ adQnet COMMON /adffields_Qsw/ adQsw COMMON /adffields_dQdT/ addQdT COMMON /adffields_EmPmR/ adEmPmR COMMON /adffields_saltFlux/ adsaltFlux COMMON /adffields_SST/ adSST COMMON /adffields_SSS/ adSSS COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax #ifdef ATMOSPHERIC_LOADING COMMON /adffields_pload/ adpload COMMON /adffields_sIceLoad/ adsIceLoad #endif _RS adfu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adfv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adQnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adQsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS addQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adEmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adsaltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adSST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adSSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adlambdaThetaClimRelax & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adlambdaSaltClimRelax & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #ifdef ATMOSPHERIC_LOADING _RS adpload (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS adsIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #endif #ifdef ALLOW_DIFFKR_CONTROL COMMON /ADDYNVARS_DIFFKR/ & addiffKr _RL addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) #endif #ifdef ALLOW_KAPGM_CONTROL COMMON /ADDYNVARS_KAPGM/ & adkapgm _RL adkapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) #endif #ifdef ALLOW_KAPREDI_CONTROL COMMON /ADDYNVARS_KAPREDI/ & adkapredi _RL adkapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) #endif #ifdef ALLOW_BOTTOMDRAG_CONTROL COMMON /ADDYNVARS_BOTTOMDRAG/ & adbottomdragfld _RL adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #endif #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL)) double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx, $nsy) double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx, $nsy) common /adedtauffields/ adeddytaux, adeddytauy #endif #ifdef ALLOW_EXF _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_hsflux_r/ adhflux, adsflux _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_stress_r/ adustress, advstress # ifdef ALLOW_ATM_TEMP _RL adatemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adaqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adlwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip # endif # ifdef ALLOW_ATM_WIND _RL aduwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL advwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_atm_wind_r/ aduwind, advwind # endif # ifdef ALLOW_DOWNWARD_RADIATION _RL adswdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adlwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_rad_down_r/ & adswdown, adlwdown # endif # ifdef ALLOW_CLIMSST_RELAXATION _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_clim_sst_r/ adclimsst # endif # ifdef ALLOW_CLIMSSS_RELAXATION _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adexf_clim_sss_r/ adclimsss # endif #endif #ifdef ALLOW_SEAICE _RL adarea(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy) common /adseaice_dynvars_1/ adarea c _RL adheff(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy) _RL adhsnow(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) common /adseaice_trans/ adheff, adhsnow # ifdef SEAICE_ALLOW_DYNAMICS _RL aduice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy) _RL advice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy) common /adseaice_dynvars_2/ aduice, advice # endif #endif #ifdef ALLOW_DEPTH_CONTROL _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy) _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy) _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy) _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy) _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy) _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy) common /adgrid_r/ adr_low_control, & adrecip_hfacc, adrecip_hfacw, adrecip_hfacs common /adgrid_r_c/ adhfacc common /adgrid_r_s/ adhfacs common /adgrid_r_w/ adhfacw #endif /* ALLOW_DEPTH_CONTROL */ #endif /* ALLOW_AUTODIFF_MONITOR */