generate model file with Sarah

Asked by Si Wang

Hi,

I use Sarah to generate the folder: Output/THDM-II/EWSB/WHIZARD_Omega
Then I run ./configure , later "make".
But the following error shows:

for dir in omega whizard; do make -C${dir} all || exit 1; done
make[1]: Entering directory '/home/si/Dropbox/Linux/HEPSoftware/SARAH-4.14.5/Output/THDM-II/EWSB/WHIZARD_Omega/omega'
/usr/bin/ocamlopt.opt -I /usr/local/lib/omega/caml -c omega_thdmii_sarah.ml
File "omega_thdmii_sarah.ml", line 12, characters 12-22:
12 | module O = Omega.Make (Fusion.Mixed23) (Targets.Fortran)
                 ^^^^^^^^^^
Error: Unbound module Omega.Make

How to solve this issue?
The omega_thdmii_sarah.ml is generated for whizard version 3.0.0.
While I want to generate for version 3.0.3, but "MakeWHIZARD[Version -> 3.0 .3]" did not work.
How to generate for specific whizard version?

I cannot use UFO, as the parameter card generated by SPheno cannot be directly used in UFO.

Thank you!
Si

Question information

Language:
English Edit question
Status:
Solved
For:
WHIZARD Edit question
Assignee:
Juergen Reuter Edit question
Last query:
Last reply:
Revision history for this message
Thorsten Ohl (thomega) said :
#1

Hi Si,

it appears that the omega libraries are missing in Makefile. You need to add them to the commandline

  /usr/bin/ocamlopt.opt -I /usr/local/lib/omega/caml unix.cmxa omega_core.cmxa omega_targets.cmxa -c omega_thdmii_sarah.ml

Cheers,
-Thorsten

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#2

Let me add that the explicit interfaces to SARAH/SPheno/BSM-Toolbox and FeynRules are no longer maintained. After the big overhaul of the UFO interface for version 3.0.0 (incl. Majorana fermions) we made one final effort to make this available. The signatures of O'Mega structures has changed again with v3.0.1 onwards, so that you really have to use the exact Whizard v3.0.0 to cross-validate with the SARAH interface. Then, as Thorsten pointed out, there are the issues with the paths. The configure of the model written by the SARAH interface needs to know where your Whizard and O'Mega binaries and libraries are located. This is detailed in Sec. 17.1 of the manual. However, as stated above, I doubt that this model will compile with Whizard v3.0.3.
Cheers,
   JRR

Revision history for this message
Si Wang (siw34) said :
#3

Hi Thorsten,

I add these in the Makefile of folder WHIZARD_Omega/omega:
%.cmi: %.mli
        $(ocamlopt) $(ocamlflags) -I $(libdir) unix.cmxa omega_core.cmxa omega_targets.cmxa -c $<
%.cmx: %.ml
        $(ocamlopt) $(ocamlflags) -I $(libdir) unix.cmxa omega_core.cmxa omega_targets.cmxa -c $<
Also changed the Makefile.in

While I vim the Makefile.src, I found there is the code:
omega_thdmii_sarah.opt: $(int_thdmii_sarah) $(mdl_thdmii_sarah) $(bin_thdmii_sarah)
        $(ocamlopt) $(ocamlflags) -I $(libdir) -o $@ unix.cmxa omega_core.cmxa omega_targets.cmxa \
           $(mdl_thdmii_sarah) $(bin_thdmii_sarah)
Which has outputs of the omega libraries.

This way did not work.
Thanks,
Si

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#4

What is the error message now? If you send us the tarball for the model produced from SARAH we could take a look.

Revision history for this message
Si Wang (siw34) said (last edit ):
#5

Hi Juergen,

The same error Omega.Make missing.
Here is the model folder WHIZARD_Omega(using ocaml version 5.0.0):
https://drive.google.com/file/d/11yZmgtlfKNHN_bWsdcYILJNyH5HtKYiB/view?usp=sharing

I tried to reinstall the whizard 3.0.0, but after "make", it is recursively shows(or stops):
/bin/bash: R[[coordinates.f90]]: command not found
/bin/bash: coordinates.f90: command not found
make[2]: [Makefile:1308: coordinates.f90] Error 127 (ignored)
for src in tao_test.f90 vamp_test0.f90 vamp_test.f90 constants.f90 kinematics.f90 coordinates.f90; do \
  module="`basename $src | sed 's/\.f[90][0358]//'`"; \
  grep '^ *use ' $src \
    | grep -v '!NODEP!' \
    | sed -e 's/^ *use */'$module'.o: /' \
          -e 's/, *only:.*//' \
          -e 's/, *&//' \
          -e 's/, *.*=>.*//' \
          -e 's/ *$/.o/' ; \
done > Makefile.depend
grep: tao_test.f90: No such file or directory
grep: vamp_test0.f90: No such file or directory
grep: vamp_test.f90: No such file or directory
grep: constants.f90: No such file or directory
grep: kinematics.f90: No such file or directory
grep: coordinates.f90: No such file or directory
^Cmake[1]: *** [Makefile:653: all-recursive] Interrupt
make: *** [Makefile:785: all-recursive] Interrupt

The same thing happens when I install other whizard version not 3.0.3(the most original one).
Only if I reinstall the original one 3.0.3, it will succeed
Is that because there are some old whizard installation impact?

I have done once, remove the whole whizard building folder, did not run"make uninstall", then directly rebuild whizard.

Cheers,
Si

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#6

For the 3.0.0 version, this seems that you downloaded a version from the public git repo and not from the source distribution
on either Launchpad or HepForge. This needs noweb to build.
For your file from the GoogleDrive I can reproduce the error, but I have to say I do not understand it. Maybe Thorsten can say more what is going wrong. The .cmx file is not correctly produced.
I think the easiest thing is to ask the maintainers of SARAH to produce a UFO file.

Revision history for this message
Si Wang (siw34) said :
#7

Hi Juergen,

I used whizard 3.0.0, it sucessfully compiled the model files.
I used ./configure, not used --prefix or WO_CONFIG.
But when I try to run the model, it can display the content of the model, but then it shows the error:
make: /usr/local/bin/omega_thdmii_sarah.opt: Command not found
make: *** [default_lib.makefile:50: muta_i1.f90] Error 127
| command: make source -j1 -f default_lib.makefile
| Return code = 512
******************************************************************************
******************************************************************************
*** FATAL ERROR: System command returned with nonzero status code

I guess I need to add -prefix and WO_CONFIG. But when I installed Whizard, I did not use any --prefix.
I don't know the path for -prefix or WO_CONFIG. What is the default path for the two?
I ran "which whizard", it returned me /usr/local/bin/whizard.

Cheers,
Si

Revision history for this message
Si Wang (siw34) said :
#8

Also the UFO file in the Sarah model database, did not include the right parameter card, all the new variables are 0.
The right parameter card is generated by SPheno, which can only be used by copy to Process/Card/param_card.dat.
This is not possible in Whizard.
Is there other way to use the UFO only generated by Sarah (not use Spheno)?

Revision history for this message
Si Wang (siw34) said :
#9

Now I understand the UFO overhaul. The Whizard 3.0.0 cannot use the UFO file generated by Sarah.

Revision history for this message
Si Wang (siw34) said :
#10

I guess I can use the UFO file, and give the variables values manually.

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#11

Whizard fully support UFO models like relatives of the 2HDM since version 2.8.3 and for models with Majorana fermions since v3.0.0. (modulo bug fixes, cf. the Changelog). With v3.0.0 we made an effort to have one common point where to backwards-validate SARAH and Feynrules models used via the dedicated interfaces. But the new features in O'Mega from v3.0.1 on were already breaking the interface again. The SARAH and FeynRules teams are not willing to maintain the interfaces. Parameter files generated by Spectrum generators like SPheno can be read in and used with UFO models from v3.0.0 onwards, so that should work.
Regarding the SARAH interfaces, have you read sec. 17.1 of the Whizard manual? There it is described what the flags do (--prefix and WO_CONFIG) and how they should be set. The message shown above
make: /usr/local/bin/omega_thdmii_sarah.opt: Command not found
make: *** [default_lib.makefile:50: muta_i1.f90] Error 127
| command: make source -j1 -f default_lib.makefile
looks like you successfully built the model but it is not found.
O.t.o.h. the manual says (sec. 17.1): "By default, the last command installs the compiled model into .whizard in current user’s home directory where it is automatically picked up by WHIZARD."
I think you should still concentrate on the UFO model and not try to use the SARAH-Whizard interface. In case, something does not work with the UFO model, please open a new issue.

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#12

Addendum: re-reading the error message: make: /usr/local/bin/omega_thdmii_sarah.opt: Command not found
Somehow Whizard believes the model to reside in /usr/local/bin, which should not be the case for building the SARAH model without flags. It should then be in $(HOME)/.whizard/bin (where Whizard would look for it). So it seems like an inconsistent build.

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#13

Changing status to 'solved'. Please open a new issue should there be a different problem.