/[MITgcm]/MITgcm/pkg/seaice/seaice_jacvec.F
ViewVC logotype

Diff of /MITgcm/pkg/seaice/seaice_jacvec.F

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

revision 1.5 by mlosch, Thu Apr 4 07:02:51 2013 UTC revision 1.8 by mlosch, Tue May 23 16:24:46 2017 UTC
# Line 69  C     i,j,bi,bj :: loop indices Line 69  C     i,j,bi,bj :: loop indices
69        _RL epsilon, reps        _RL epsilon, reps
70  CEOP  CEOP
71  C     Instructions for using TAF or TAMC to generate exact Jacobian times  C     Instructions for using TAF or TAMC to generate exact Jacobian times
72  C     vector operations:  C     vector operations (if SEAICE_ALLOW_MOM_ADVECTION is defined, the
73    C     file list also needs to include seaice_mom_advection.f,
74    C     mom_calc_hfacz.f, mom_calc_ke.f, mom_calc_relvort3.f,
75    C     mom_vi_u_coriolis.f, mom_vi_u_coriolis_c4.f, mom_vi_u_grad_ke.f,
76    C     mom_vi_v_coriolis.f, mom_vi_v_coriolis_c4.f, mom_vi_v_grad_ke.f
77    C     plus flow information for diagnostics_fill.f:
78    CCCCCCCADJ SUBROUTINE DIAGNOSTICS_FILL INPUT  = 1,2,3,4,5,6,7,8
79    CCCCCCCADJ SUBROUTINE DIAGNOSTICS_FILL OUTPUT =
80    C     )
81  C  C
82  C     1. make small_f  C     1. make small_f
83  C     2. cat seaice_calc_residual.f seaice_oceandrag_coeffs.f seaice_calc_strainrates.f seaice_calc_viscosities.f seaice_calc_rhs.f seaice_calc_lhs.f > taf_input.f  C     2. cat seaice_calc_residual.f seaice_oceandrag_coeffs.f \
84  C     3. staf -v1 -forward -toplevel seaice_calc_residual -input uIceLoc,viceLoc -output uIceRes,vIceRes taf_input.f  C        seaice_bottomdrag_coeffs.f seaice_calc_stressdiv.f \
85    C        seaice_calc_strainrates.f seaice_calc_viscosities.f \
86    C        seaice_calc_rhs.f seaice_calc_lhs.f > taf_input.f
87    C     3. staf -v1 -forward -toplevel seaice_calc_residual \
88    C             -input uIceLoc,viceLoc -output uIceRes,vIceRes taf_input.f
89  C     4. insert content of taf_input_ftl.f at the end of this file  C     4. insert content of taf_input_ftl.f at the end of this file
90  C     5. add the following code and comment out the finite difference code  C     5. add the following code and comment out the finite difference code
91  C  C
# Line 81  C     Instruction for using TAF 2.4 and Line 93  C     Instruction for using TAF 2.4 and
93  C     starting with version 2.0):  C     starting with version 2.0):
94  C  C
95  C     1. make small_f  C     1. make small_f
96  C     2. staf -forward -toplevel seaice_calc_residual -input uIceLoc,viceLoc -output uIceRes,vIceRes seaice_calc_residual.f seaice_oceandrag_coeffs.f seaice_calc_strainrates.f seaice_calc_viscosities.f seaice_calc_rhs.f seaice_calc_lhs.f  C     2. files="seaice_calc_residual.f seaice_oceandrag_coeffs.f \
97  C     3. copy files seaice_*_tl.f to the corresponding seaice_*.f files,  C               seaice_bottomdrag_coeffs.f seaice_calc_stressdiv.f \
98    C               seaice_calc_strainrates.f seaice_calc_viscosities.f \
99    C               seaice_calc_rhs.f seaice_calc_lhs.f"
100    C     3. staf -forward -toplevel seaice_calc_residual \
101    C             -input uIceLoc,viceLoc -output uIceRes,vIceRes $files
102    C     4. copy files seaice_*_tl.f to the corresponding seaice_*.f files,
103  C        e.g. with this bash script:  C        e.g. with this bash script:
104  C     for file in `ls seaice_*_tl.f`; do  C     for file in $files; do
105  C       nfile=`echo $file | awk -F_ '{printf "%s_%s_%s.f", $1,$2,$3}'`;  C       nfile=`echo $file | awk -F. '{printf "%s_tl.f", $1}'`;
106  C       \cp -f $file $nfile  C       \cp -f $nfile $file
107  C     done  C     done
108  C     4. add the following code, change "call g_seaice_calc_residual" to "call seaice_calc_residual_tl", and comment out the finite difference code  C     5. add the following code, change "call g_seaice_calc_residual"
109    C        to "call seaice_calc_residual_tl", and comment out the finite
110    C        difference code
111  CML      _RL g_duIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  CML      _RL g_duIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
112  CML      _RL g_dvIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  CML      _RL g_dvIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
113  CML      _RL g_uIceRes(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  CML      _RL g_uIceRes(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)

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

  ViewVC Help
Powered by ViewVC 1.1.22