Ocean Modeling Discussion

ROMS/TOMS

Search for:
It is currently Thu Sep 19, 2019 2:51 am




Post new topic Reply to topic  [ 5 posts ] 

All times are UTC

Author Message
PostPosted: Thu Aug 23, 2012 10:24 pm 
Offline

Joined: Tue Nov 29, 2011 3:51 pm
Posts: 30
Location: Hydrometcenter of Russia
Hi

In my experiments (Caspian sea with ice model) there was a following situation: ice thickness was more then depth in the same points. (7 meters ice thickness in points with 2 meters depth). In north part of Caspian sea large area has depth ~ 2 meters and in winter this part becomes covered by an sea-ice. In addition large values of thickness give more later disappearance of the ice in the spring (one month). That is for Caspian sea this problem is serious. Of course full decision of this problem (anchor ice) is rather difficult. May be it should include analog of wet_dry mask for ice to indicate points with sea-ice thickness equal depth with some ice/snow/water density coefficients, disable bottom freezing, ice moving and include some other changes for ice stresses. More over it will be needed to change the thickness of water layer under ice and parameterize the pressure in water under ice for various sea-ice concentrations. Wet_dry mask of water/land distribution should be changed in the points where sea-ice thickness equal depth also. These complexities frighten :) And influence of ice on sea bed (scouring) also ...

Now I've made some simple code corrections, but not sure if I am right
Quote:
In ice_limit.F
CALL ice_limit_tile (ng, tile, &
& LBi, UBi, LBj, UBj, &
& IminS, ImaxS, JminS, JmaxS, &
& liold(ng), linew(ng), &
# if defined ICE_BIO && defined BERING_10K
& ICE(ng) % IcePhL, &
& ICE(ng) % IceNO3, &
& ICE(ng) % IceNH4, &
& ICE(ng) % IceLog, &
# endif
& ICE(ng) % ui, &
& ICE(ng) % vi, &
& ICE(ng) % ai, &
& ICE(ng) % hi, &
& ICE(ng) % hsn, &
& ICE(ng) % ti, &
& ICE(ng) % enthalpi, &
& ICE(ng) % sfwat, & !S!!!!!!!!!!!!!!!! changed (,)
& GRID(ng) % h & !S!!!!!!!!!!!!!!!! appended .............................................................................................
!
! Imported variable declarations.
!
integer, intent(in) :: ng, tile
integer, intent(in) :: LBi, UBi, LBj, UBj
integer, intent(in) :: IminS, ImaxS, JminS, JmaxS
integer, intent(inout) :: liold, linew
real(r8), intent(in) :: h(LBi:,LBj:) !S!!!!!!!!!!!!!!!! appended
# ifdef ASSUMED_SHAPE
# if defined ICE_BIO && defined BERING_10K
real(r8), intent(inout) :: IcePhL(LBi:,LBj:,:)
real(r8), intent(inout) :: IceNO3(LBi:,LBj:,:)
real(r8), intent(inout) :: IceNH4(LBi:,LBj:,:)
integer, intent(inout) :: IceLog(LBi:,LBj:,:)
# endif

!S!!!!!!!!!!!!!!!!!!!!!!!!!
! real(r8), intent(in) :: ui(LBi:,LBj:,:) !S!!!!!!!!!! old
! real(r8), intent(in) :: vi(LBi:,LBj:,:) !S!!!!!!!!!! old
real(r8), intent(inout) :: ui(LBi:,LBj:,:) !S!!!!!!!!!! new
real(r8), intent(inout) :: vi(LBi:,LBj:,:) !S!!!!!!!!!! new
!S!!!!!!!!!!!!!!!!!!!!!!!!!
real(r8), intent(inout) :: ai(LBi:,LBj:,:)
real(r8), intent(inout) :: hi(LBi:,LBj:,:)
real(r8), intent(inout) :: hsn(LBi:,LBj:,:)
real(r8), intent(inout) :: ti(LBi:,LBj:,:)
real(r8), intent(inout) :: enthalpi(LBi:,LBj:,:)
real(r8), intent(inout) :: sfwat(LBi:,LBj:,:)

# else
# if defined ICE_BIO && defined BERING_10K
real(r8), intent(inout) :: IcePhL(LBi:UBi,LBj:UBj,2)
real(r8), intent(inout) :: IceNO3(LBi:UBi,LBj:UBj,2)
real(r8), intent(inout) :: IceNH4(LBi:UBi,LBj:UBj,2)
integer, intent(inout) :: IceLog(LBi:UBi,LBj:UBj,2)
# endif
!S!!!!!!!!!!!!!!!!!!!!!!!!!
! real(r8), intent(in) :: ui(LBi:UBi,LBj:UBj,2) !S!!!!!!!!!! old
! real(r8), intent(in) :: vi(LBi:UBi,LBj:UBj,2) !S!!!!!!!!!! old
real(r8), intent(inout) :: ui(LBi:UBi,LBj:UBj,2) !S!!!!!!!!!! new
real(r8), intent(inout) :: vi(LBi:UBi,LBj:UBj,2) !S!!!!!!!!!! new
!S!!!!!!!!!!!!!!!!!!!!!!!!!
......................................................................................
#include "set_bounds.h"
!
DO j=Jstr,Jend
DO i=Istr,Iend
ai(i,j,linew) = MIN(ai(i,j,linew),max_a(ng))
ai(i,j,linew) = MAX(ai(i,j,linew),0.0_r8)
hi(i,j,linew) = MAX(hi(i,j,linew),0.0_r8)
hsn(i,j,linew) = MAX(hsn(i,j,linew),0.0_r8)
!S!!!!!!!!!!!!!!!!!!!!!!!!!
hi(i,j,linew) = MIN((400*hsn(i,j,linew)+930*hi(i,j,linew))/1000,ABS(h(i,j))) !S! appended
IF ((400*hsn(i,j,linew)+930*hi(i,j,linew))/1000 .ge. ABS(h(i,j))) THEN !S!!!!!!! appended
ui(i,j,linew) = 0.0_r8 !S!!!!!!!!!!!!!!!! appended
vi(i,j,linew) = 0.0_r8 !S!!!!!!!!!!!!!!!! appended
END IF !S!!!!!!!!!!!!!!!! appended
!S!!!!!!!!!!!!!!!!!!!!!!!!!
sfwat(i,j,linew) = MAX(sfwat(i,j,linew),0.0_r8)
ti(i,j,linew) = MAX(ti(i,j,linew),-70.0_r8)
IF (hi(i,j,linew) .le. min_h(ng)) ai(i,j,linew) = min_a(ng)
IF (ai(i,j,linew) .le. min_a(ng)) THEN
ai(i,j,linew) = min_a(ng)
hi(i,j,linew) = min_h(ng)
sfwat(i,j,linew) = 0.0_r8
hsn(i,j,linew) = 0.0_r8
END IF
END DO
END DO



In file seaice. F I uncomment line CALL ice_limit(ng, TILE)
Quote:
#ifdef ICE_THERMO
! ----------------------------------------------------------------------
! Compute the ice thermodynamics.
! ----------------------------------------------------------------------
DO ng=1,Ngrids
DO tile=first_tile(ng),last_tile(ng),+1
CALL ice_thermo (ng, TILE)
# ifdef ICE_SMOOTH
CALL ice_smoother(ng, TILE)
# endif
CALL ice_limit(ng, TILE)
END DO
!$OMP BARRIER
END DO
#endif



My corrections are not coordinated with rules of a writing of ROMS code and can disturb some ice physics (mass balance, for example), but I wished to check up idea.

Some fast results are attached

Do not judge strictly


Attachments:
File comment: Difference of ice velocities
uvi_diff.png
uvi_diff.png [ 24.12 KiB | Viewed 3003 times ]
File comment: Ice velocities or experiment without hi limit
uvi_wo.png
uvi_wo.png [ 24.72 KiB | Viewed 3003 times ]
File comment: Ice thickness or experiment without hi limit
hi_wo.png
hi_wo.png [ 14.27 KiB | Viewed 3003 times ]
File comment: Ice thickness or experiment with hi limit
hi_w.png
hi_w.png [ 13.16 KiB | Viewed 3003 times ]
File comment: Ice compactness or experiment without hi limit
ai_wo.png
ai_wo.png [ 19.1 KiB | Viewed 3003 times ]
File comment: Ice compactness or experiment with hi limit
ai_w.png
ai_w.png [ 19.72 KiB | Viewed 3003 times ]
Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 23, 2012 10:31 pm 
Offline
User avatar

Joined: Wed Jul 02, 2003 5:29 pm
Posts: 3667
Location: IMS/UAF, USA
Have you seen the ICE_SHOREFAST option? It limits the flow when the ice becomes thick and was designed for the Caspian Sea.


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 25, 2012 7:05 am 
Offline

Joined: Tue Nov 29, 2011 3:51 pm
Posts: 30
Location: Hydrometcenter of Russia
Thank you, Kate

I've calculated Caspian model in your code with ICE_SHOREFAST now only on a month. Results are normal. As I understand in your code thermal flux at the bottom starts to be limited with depth of 'clear' water (under ice) of 1.5 meter and is equal to zero at depth of 'clear' water less than 0.5 meter. And ice velocities starts to be limited with depth of 'clear' water of 5 meters and is equal to zero at depth of 'clear' water less than 1 meter. The backward influence of points with anchor ice a wet_dry mask and parametrization of effective depth of water under ice (when ice compactness is near 1) are not considered. There are some another cpp flags relate to Caspian sea in your code. I'll try it, I believe, some later. Thank you for these possibilities.

Best regards


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 27, 2012 4:29 pm 
Offline
User avatar

Joined: Wed Jul 02, 2003 5:29 pm
Posts: 3667
Location: IMS/UAF, USA
It is not mine, but rather Paul Budgell's Caspian setup.


Top
 Profile  
Reply with quote  
PostPosted: Tue Aug 28, 2012 7:25 am 
Offline

Joined: Tue Nov 29, 2011 3:51 pm
Posts: 30
Location: Hydrometcenter of Russia
Sorry, the big respect and for Paul


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group