Hi,
I did a multidirectional random wave simulation with ARTEMIS, but I noticed that I was getting the same result as the case with monodirectional random waves.
After some searching in the code I found a possible bug in the artemis.f code (v6p1):
I changed the IF expression at line 352 from
200 IF (ALEMUL) THEN
CALL OS('X=C ', TETAB ,SBID,SBID, DALE%R(LDIR) )
CALL ENTART(2,DALE%R(LDIR),LT,LDIR,NDALE,ALEMON,ALEMUL,BALAYE)
ENDIF
to
200 IF (ALEMUL) THEN
TETABT(:) = DALE%R(LDIR)
CALL OS('X=C ', TETAB ,SBID,SBID, DALE%R(LDIR) )
CALL ENTART(2,DALE%R(LDIR),LT,LDIR,NDALE,ALEMON,ALEMUL,BALAYE)
ENDIF
The problem is - I think - that the CALL OS expression indeed assigns the different directions of the directional wave spectrum to TETAB (determined by DALE) for each direction run, but the routine PHBOR then assigns the direction value of TETABT to TETAB, effectively erasing the direction assigned from DALE (because TETABT(:)=TETAH default in the BORH routine).
Probably the CALL OS expression in the adapted IF expression can be removed altogether (I have not tested this), but I kept it in case it has another purpose I don't know about.
After making this change, I'm getting a much more realistic result for my multidirectional random wave run.
Do you agree this is a bug, or is there some coding to be done in the BORH user routine in case of multidirectional random waves or something else I don't know about?