| 72 | C     vector operations: | C     vector operations: | 
| 73 | C | C | 
| 74 | C     1. make small_f | C     1. make small_f | 
| 75 | 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 \ | 
| 76 | C     3. staf -v1 -forward -toplevel seaice_calc_residual -input uIceLoc,viceLoc -output uIceRes,vIceRes taf_input.f | C        seaice_calc_strainrates.f seaice_calc_viscosities.f \ | 
| 77 |  | C        seaice_calc_rhs.f seaice_calc_lhs.f > taf_input.f | 
| 78 |  | C     3. staf -v1 -forward -toplevel seaice_calc_residual \ | 
| 79 |  | C             -input uIceLoc,viceLoc -output uIceRes,vIceRes taf_input.f | 
| 80 | 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 | 
| 81 | 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 | 
| 82 | C | C | 
| 84 | C     starting with version 2.0): | C     starting with version 2.0): | 
| 85 | C | C | 
| 86 | C     1. make small_f | C     1. make small_f | 
| 87 | 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 \ | 
| 88 | C     3. copy files seaice_*_tl.f to the corresponding seaice_*.f files, | C               seaice_calc_strainrates.f seaice_calc_viscosities.f \ | 
| 89 |  | C               seaice_calc_rhs.f seaice_calc_lhs.f" | 
| 90 |  | C     3. staf -forward -toplevel seaice_calc_residual \ | 
| 91 |  | C             -input uIceLoc,viceLoc -output uIceRes,vIceRes $files | 
| 92 |  | C     4. copy files seaice_*_tl.f to the corresponding seaice_*.f files, | 
| 93 | C        e.g. with this bash script: | C        e.g. with this bash script: | 
| 94 | C     for file in `ls seaice_*_tl.f`; do | C     for file in $files; do | 
| 95 | 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}'`; | 
| 96 | C       \cp -f $file $nfile | C       \cp -f $nfile $file | 
| 97 | C     done | C     done | 
| 98 | 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" | 
| 99 |  | C        to "call seaice_calc_residual_tl", and comment out the finite | 
| 100 |  | C        difference code | 
| 101 | 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) | 
| 102 | 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) | 
| 103 | 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) |