running ice code ...

Discussion about modeling ice with ROMS

Moderators: arango, robertson

Post Reply
Message
Author
turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

running ice code ...

#1 Unread post by turuncu »

Hi,

I have some problem when i try to run the ice code. The ice model included version of ROMS stops at the beginning of the simulation without giving any warning or error messages. The last output as follows,

....
....
ndtfast, nfast = 20 29 nfast/ndtfast = 1.45000

Centers of gravity and integrals (values must be 1, 1, approx 1/2, 1, 1):

1.000000000000 1.060707743385 0.530353871693 1.000000000000 1.000000000000

Power filter parameters, Fgamma, gamma = 0.28400 0.14200

Minimum X-grid spacing, DXmin = 1.01268657E+01 km
Maximum X-grid spacing, DXmax = 1.01268657E+01 km
Minimum Y-grid spacing, DYmin = 1.00924370E+01 km
Maximum Y-grid spacing, DYmax = 1.00924370E+01 km
Minimum Z-grid spacing, DZmin = 1.56757565E-01 m
Maximum Z-grid spacing, DZmax = 7.50839080E+01 m

Minimum barotropic Courant Number = 3.11557969E-02
Maximum barotropic Courant Number = 1.87487916E-01
Maximum Coriolis Courant Number = 3.51140829E-02

I also compile it in debug mode to find the error but in this case model works without any problem. So, it does not give error. The original ROMS code is also working in both debug and optimized case using cane input and configuration files. Do you have any suggestion for it?

PS: I am using openmpi and intel compiler. Operating system is Linux Centos (2.6.38-6).

Regards,

--ufuk

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#2 Unread post by turuncu »

Hi,

Actually i add some print statement into code to find the line that code crash. The place is the analytical ice subroutine. I want to start the model without ice and i am using following file.

--ufuk
Attachments
ana_ice.h
(19.7 KiB) Downloaded 401 times

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#3 Unread post by kate »

Can you tell where in that routine it crashes? I don't see anything obviously wrong there. When you run in debug mode, is that also a parallel simulation?

What happens if you optimize everything except analytical.F? Many compiler bugs are in the optimizer.

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#4 Unread post by turuncu »

Hi Kate,

Thanks for your help. I am running in parallel mode without debugging option. I don't know why but when i put some print statement into the ana_ice.h just after the line that starts with "Must ..." the code is runs without problem. Otherwise, it crashes. It is so strange !!! So, if i found the problem, i will let you know. It could be related with compiler optimization or flags.

--ufuk

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#5 Unread post by turuncu »

Hi Kate,

I think, i found the code section. The code is crashing in the following section.

Code: Select all

#ifdef DISTRIBUTE
      CALL mp_exchange3d (ng, tile, model, 4,                           &
     &                    LBi, UBi, LBj, UBj, 1, 2,                     &
     &                    NghostPoints, EWperiodic, NSperiodic,         &
     &                    ui, uie, vi, vie)
      CALL mp_exchange3d (ng, tile, model, 4,                           &
     &                    LBi, UBi, LBj, UBj, 1, 2,                     &
     &                    NghostPoints, EWperiodic, NSperiodic,         &
     &                    ai, hi, hsn, ti)
      CALL mp_exchange3d (ng, tile, model, 4,                           &
     &                    LBi, UBi, LBj, UBj, 1, 2,                     &
     &                    NghostPoints, EWperiodic, NSperiodic,         &
     &                    sfwat, sig11, sig12, sig22)
# if defined BERING_10K && defined ICE_BIO
--ufuk

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#6 Unread post by kate »

Maybe you should just leave in the print statement that makes it work. Otherwise, you'll have to take it up with the compiler vendor and they want a 20 line (or less) code that demonstrates the problem, not the whole of ROMS. Or you can see if there's a newer version of the compiler out yet.

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#7 Unread post by turuncu »

Hi,

I ran the ROMS with ice model for Caspian Sea but the model did not produce any ice in the domian. Both aice and hice variables are empty. The model starts with zero ice conditions (ana_ice.h file is used) and i am using the standard ice.in file. Based on the observation the northern part of the lake must have ice in DJF and MAM seasons. Is there any way to tune the ice model? The surface temperature has positive bias (based AVHRR data) and it is almost +1.5 C in the northern part of the lake.

Regards,

--ufuk

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#8 Unread post by kate »

This is going to be strongly sensitive to the thermal forcing being used. We have struggled with this for years for the Bering Sea, where the atmospheric models don't get the clouds exactly right. How are you handling longwave, shortwave, and albedo?

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#9 Unread post by turuncu »

Hi Kate,

Thanks for your help. The heat fluxes and the atmospheric variables such as wind, pressure, humidity etc. are provided by regional atmosphere model. The atmospheric model has 20 km grid in horizontal. I also compare the results with observational dataset and the fluxes seems correct. The one thing that the atmospheric model overestimates the winter temperature in 1-1.5 degC range. This comes form IC/BC of the atmospheric model (forced by ERA Interim).

--ufuk

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#10 Unread post by kate »

If the atmosphere thinks the water is warmer than it really is, then it will be challenging to get the fluxes right. One term tries to reduce the difference between the air temperature and the SST. How far off are the surface air temperatures?

zwwpku
Posts: 10
Joined: Wed Oct 13, 2010 3:36 pm
Location: university of delaware

Re: running ice code ...

#11 Unread post by zwwpku »

Hi Ufuk,
I have been using Kate's sea ice code too, and did not get any ice except in a very thin boundary layer. I am wondering if you have successfully produced ice reasonably distributed, and how did you do it?

I used gradient boundary condition for the sea ice, because I do not have sea ice thickness information available for the area of my interest...

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#12 Unread post by kate »

What is your area of interest? You mention the lateral boundary conditions. Ufuk is modeling the whole Caspian and can get away with wall boundaries. His problem is dominated by the thermodynamics - heat in and out at the vertical boundaries. Is that true of your situation as well?

zwwpku
Posts: 10
Joined: Wed Oct 13, 2010 3:36 pm
Location: university of delaware

Re: running ice code ...

#13 Unread post by zwwpku »

Hi Kate,
My area of interest is the Labrador Sea. I attached a figure to be more accurate. I have four open boundaries. I am not sure whether the vertical boundary heat loss or the southward and eastward cold and fresh water (or ice) transport is more important. However, the ice in this region often expands as shown in figure "200802.png".
My model output showed SST around -2C in the region that sea ice appeared, but no ice.
Attachments
Sea ice distribution in 2008 February, from MetOffice data.
Sea ice distribution in 2008 February, from MetOffice data.
my model domain
my model domain

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#14 Unread post by kate »

Do you know if any of the ice observed there was formed there, or was it all advected southward from outside your domain?

Have you looked at the output of any of the ice formation variables Wai, Wao, Wfr, etc? Is it forming and melting or just not forming? At -2, it should try to form.

As far as boundary conditions go, it could be tricky indeed. I tried running a regional Chukchi-Beaufort domain and ended up with a grid covering the whole Arctic once again. The northern open boundary of the regional domain was just never right in terms of ice stiffness. It either let too much ice flow out or it acted as a wall for southerly winds. In your case, if the ice is consistently flowing south out of Baffin Bay, you might get by just knowing the ice flux (including thickness and velocity). Does anyone have a credible model you could use for boundary conditions?

Has anyone had better luck with ice open boundaries in a regional setting?

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#15 Unread post by turuncu »

Hi,

I try to produce ice in Caspian Sea but still i could not. In this case, i am using a regional climate model (RegCM4) output to drive ROMS. The one dimensional lake model which is coupled into RegCM model produces ice with correct spatial distribution but ROMS not. The lake surface temperature is little bit warmer when i compare with the observations but i think that the problem is not related with overestimation surface temperature. Maybe it is related with the initialization of the model but i am not sure. The main problem is CAS is a inland water and it is not easy to find ice observations to create initial conditions. So, i think i have to perform more sensitivity test with the ocean model. If you have any suggestion about that please let me know.

By the way, i coupled ROMS (3.4 and no ice) with RegCM4 using ESMF and it will be avaliable in the next public release of the RegCM model (next May). I did initial test run for two year period and the results seems fine. Now i plan to test it with the ice code.

Best regards,

--ufuk

zwwpku
Posts: 10
Joined: Wed Oct 13, 2010 3:36 pm
Location: university of delaware

Re: running ice code ...

#16 Unread post by zwwpku »

Hi Ufuk,
Have you tried to increase heat loss at the surface of your domain, just to reduce the temperature, and see whether ice can form?

zwwpku
Posts: 10
Joined: Wed Oct 13, 2010 3:36 pm
Location: university of delaware

Re: running ice code ...

#17 Unread post by zwwpku »

Do you know if any of the ice observed there was formed there, or was it all advected southward from outside your domain?


I do not have data to determine which source is more important, but I know sea ice is constantly advected from the north. I did not have the boundary condition, because I don't know the thickness.

Have you looked at the output of any of the ice formation variables Wai, Wao, Wfr, etc? Is it forming and melting or just not forming? At -2, it should try to form.

I will check this and update my post soon.


As far as boundary conditions go, it could be tricky indeed. I tried running a regional Chukchi-Beaufort domain and ended up with a grid covering the whole Arctic once again. The northern open boundary of the regional domain was just never right in terms of ice stiffness. It either let too much ice flow out or it acted as a wall for southerly winds. In your case, if the ice is consistently flowing south out of Baffin Bay, you might get by just knowing the ice flux (including thickness and velocity). Does anyone have a credible model you could use for boundary conditions?

I did not find any credible result yet, I may end up using an arbitrary sea ice thickness at the boundary.

Has anyone had better luck with ice open boundaries in a regional setting?
I may talk to someone, but cannot be sure if there is "lucky" one :P

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#18 Unread post by kate »

For Ufuk - Do you have ALBEDO set? We needed to turn it on but don't have the required cloud fraction, so just cooked up an albedo function of latitude. This is to represent the low polar clouds not in the atmospheric model we're using. Otherwise we get too much heating.

turuncu
Posts: 128
Joined: Tue Feb 01, 2005 8:21 pm
Location: Istanbul Technical University (ITU)
Contact:

Re: running ice code ...

#19 Unread post by turuncu »

Hi Kate,

Thanks for your comments. I did not set ALBEDO in my application. Do you think that it is the problem? Anyway, i plan to do more test with the latest version of the ice code. Which one is the recent in git or roms repository? Because the version that i used does not have ice formation variables such as Wai, Wao, Wfr. So, i need to change the version of the code.

Regards,

--ufuk

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#20 Unread post by kate »

Yeah, there was a time when the code to write them was broken. Both the svn and git versions are now up to date.

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#21 Unread post by kate »

That said, they aren't up to date with all Hernan's changes. The big BC change was tough and I haven't tested it adequately yet, nor have I merged in the more recent changes.

User avatar
arango
Site Admin
Posts: 1347
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: running ice code ...

#22 Unread post by arango »

Yes, tell me about it :shock: When I partitioned the nesting development in three phases I thought that Phase II was trivial. I was so mistaken!!! Changing the boundary conditions was really tough because of the periodic boundary directives were everywhere. It took me several months testing systematically the entire code.

I am very happy with the new design. It will allows the implementing of new boundary conditions very easily. I also give us countless possibilities and facilitates nesting....

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: running ice code ...

#23 Unread post by kate »

Warning to all: I am now pushing the new code to the svn site. The revision before this change is 1450. I am running the new code for the Arctic domain - note that there are changes to both ocean.in and ice.in, also varinfo.dat. See the files in Apps/Arctic and Apps/NEP/varinfo.dat.

P.S. It is taking some time to load all the changes into svn - because svn is slow.

P.P.S. The upload to github is done.

Post Reply