/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/adstreamice_invert_surf_forthick.F
ViewVC logotype

Annotation of /MITgcm_contrib/dgoldberg/streamice/adstreamice_invert_surf_forthick.F

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


Revision 1.1 - (hide annotations) (download)
Thu Mar 7 15:07:38 2013 UTC (12 years, 9 months ago) by dgoldberg
Branch: MAIN
"manual adjoint" of thickness control for const surf

1 dgoldberg 1.1 #include "CPP_OPTIONS.h"
2     #include "STREAMICE_OPTIONS.h"
3    
4     SUBROUTINE ADSTRMICE_H_INV (myThid)
5    
6     ! This S/R finds a thickness (H) that gives surf elev S with bed R
7    
8     #include "SIZE.h"
9     #include "GRID.h"
10     #include "SET_GRID.h"
11     #include "EEPARAMS.h"
12     #include "PARAMS.h"
13     #include "STREAMICE.h"
14    
15     INTEGER myThid
16    
17     #ifdef ALLOW_STREAMICE
18    
19     _RL resid, f, fp, hf, htmp
20     _RL rhoi, rhow, r, i_r, delta
21     INTEGER ITER, i, j, bi, bj
22     _RL ETA_GL_STREAMICE
23     EXTERNAL ETA_GL_STREAMICE
24     _RL ETA_GL_STREAMICE_PRIME
25     EXTERNAL PHI_GL_STREAMICE_PRIME
26    
27     _RL H(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
28     _RL Rtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
29     _RL adr_low_si(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
30     common /adstreamice_rlow/ adr_low_si
31     _RL adh_streamice(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
32     common /adstreamice_fields_rl/ adh_streamice
33    
34     CALL WRITE_FLD_XY_RL("adh_streamice_1","",adH_streamice,0,myThid)
35     CALL WRITE_FLD_XY_RL("adR_low_si_1","",adR_low_si,0,myThid)
36    
37     CALL READ_FLD_XY_RL( 'H_adjust.data', ' ', H,
38     & 0, myThid )
39    
40     CALL READ_FLD_XY_RL( 'R_low_adjust.data', ' ', Rtmp,
41     & 0, myThid )
42    
43     rhoi = streamice_density
44     rhow = streamice_density_ocean_avg
45     r=rhoi/rhow
46     i_r = 1/r
47     delta=1-r
48    
49     DO bj=myByLo(myThid), myByHi(myThid)
50     DO bi=myBxLo(myThid), myBxHi(myThid)
51     do j = 1,sNy
52     do i = 1,sNx
53    
54     hf = -1.0 * i_r * Rtmp (i,j,bi,bj)
55    
56     fp = ETA_GL_STREAMICE_PRIME (
57     & H (i,j,bi,bj)-hf,
58     & delta,
59     & 1. _d 0,
60     & delta*hf,
61     & streamice_smooth_gl_width)
62    
63     adr_low_si (i,j,bi,bj) =
64     & adr_low_si (i,j,bi,bj) -
65     & i_r * (fp-delta)/fp *
66     & adh_streamice(i,j,bi,bj)
67    
68     enddo
69     enddo
70     enddo
71     enddo
72    
73    
74     #endif
75     RETURN
76     END

  ViewVC Help
Powered by ViewVC 1.1.22